Date: Thu, 17 Feb 2005 12:13:33 +1100 From: Sam Lawrance <boris@brooknet.com.au> To: Paul Schmehl <pauls@utdallas.edu> Cc: ports@freebsd.org Subject: Re: mysqltcl Message-ID: <1108602813.677.31.camel@dirk.no.domain> In-Reply-To: <223BF64DCA8FD436A0BC6F52@utd49554.utdallas.edu> References: <D092F82A556664A2F9A9F06C@utd49554.utdallas.edu> <1108514045.686.27.camel@dirk.no.domain> <223BF64DCA8FD436A0BC6F52@utd49554.utdallas.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2005-02-16 at 09:54 -0600, Paul Schmehl wrote: > --On Wednesday, February 16, 2005 11:34:05 AM +1100 Sam Lawrance > <boris@brooknet.com.au> wrote: > > > > Be careful. If you only use RUN_DEPENDS, make sure your port can be > > built without tcllib installed (because RUN_DEPENDS are checked and > > installed after the build). > > > The port doesn't build. It's strictly a copy operation. However, there's > a boatload of dependencies. > > Using RUN_DEPENDS, the dependencies failed to install. I changed to > BUILD_DEPENDS and now everything installs before the port I'm creating > installs. I created another port on 4.9, and RUN_DEPENDS worked fine. I'm > creating this port on 5.3, and it doesn't. Did something change? Are you using the same up-to-date ports tree on both systems? How exactly do the dependencies fail to install? Can you post your port somewhere so we can have a look? > > What they look for and how they look for it depends on the type of > > dependency. The porter's handbook at > > http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook has a > > reasonably extensive explanation. > > > > When you are trying to find the right file or library name to use in > > your _DEPENDS variable, look through the pkg-plist of the dependency to > > see what it installs. > > > > ports/Mk/bsd.port.mk has all the answers, even if you have to read for a > > while before you get to them. > > > I've been studying both the Porter's Handbook and bsd.port.mk, and I'm > still not clear on a lot of stuff. I've figured out how to get > BUILD_DEPENDS to work, but LIB_DEPENDS is a mystery to me. I've been > getting things working by trial and error, but that's a frustrating process. LIB_DEPENDS will look for shared libraries in shared library locations with the help of 'ldconfig -r'. The first part of the tuple is the name of the library, optionally followed by a period and a major version. For example: if your port required the shared library libds (ports/devel/libds), you would add: LIB_DEPENDS= ds:${PORTSDIR}/devel/libds Specify dependency on major version 1 like this: LIB_DEPENDS= ds.1:${PORTSDIR}/devel/libds Roughly speaking, these will look for libds.so and libds.so.1 respectively. There's a bit more to it than that, but it's not of great concern. > Another question - is there a way to say "Use this version or better"? For > example, one port I've submitted requires *at least* autoconf 2.95. Is > there a way to say use 2.95 or better? Or rather not restrict the port to > one version and force an install if someone is using a newer version of > autoconf. AFAIK you can't do this. It's not a good idea anyway - by specifying the version exactly, there is less chance that things will break because someone else's environment is different to yours. Nobody is going to complain about a bit of time and disk space if it ends up working fine.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1108602813.677.31.camel>