From owner-freebsd-ports@FreeBSD.ORG Thu Feb 17 01:12:37 2005 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8521E16A4CE for ; Thu, 17 Feb 2005 01:12:37 +0000 (GMT) Received: from bloodwood.hunterlink.net.au (smtp-local.hunterlink.net.au [203.12.144.17]) by mx1.FreeBSD.org (Postfix) with ESMTP id 219C043D2D for ; Thu, 17 Feb 2005 01:12:36 +0000 (GMT) (envelope-from boris@brooknet.com.au) Received: from ppp27B9.dyn.pacific.net.au (ppp27B9.dyn.pacific.net.au [61.8.39.185])j1H1CSbj012383; Thu, 17 Feb 2005 12:12:30 +1100 From: Sam Lawrance To: Paul Schmehl In-Reply-To: <223BF64DCA8FD436A0BC6F52@utd49554.utdallas.edu> References: <1108514045.686.27.camel@dirk.no.domain> <223BF64DCA8FD436A0BC6F52@utd49554.utdallas.edu> Content-Type: text/plain Date: Thu, 17 Feb 2005 12:13:33 +1100 Message-Id: <1108602813.677.31.camel@dirk.no.domain> Mime-Version: 1.0 X-Mailer: Evolution 2.0.1FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit cc: ports@freebsd.org Subject: Re: mysqltcl X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Feb 2005 01:12:37 -0000 On Wed, 2005-02-16 at 09:54 -0600, Paul Schmehl wrote: > --On Wednesday, February 16, 2005 11:34:05 AM +1100 Sam Lawrance > 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.