mysqltcl
Sam Lawrance
boris at brooknet.com.au
Wed Feb 16 17:12:37 PST 2005
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 at 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.
More information about the freebsd-ports
mailing list