Newbie creating a port: tracing dependencies

Chuck Swiger cswiger at mac.com
Mon Dec 4 12:17:09 PST 2006


On Dec 4, 2006, at 12:01 PM, Erik Norgaard wrote:
> So I was wondering, how do I figure out direct dependencies? And  
> how do I figure out whether these should be LIB_DEPENDS,  
> BUILD_DEPENDS or RUN_DEPENDS or some other?

The fine documentation in the Porters Handbook discusses this:

   http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/ 
makefile-depend.html

> Is there a trick to trace the dependencies, and figure out which  
> port provides that dependency? - except for building on a clean  
> machine and install stuff until things work?

You can use pkg_which to tell you which port a given file in part of;  
so, for example, if your port creates an executable called "foo", run  
"ldd foo" and see which libraries it links against; the ones in /usr/ 
local/lib almost certainly should be listed as LIB_DEPENDS, for example.

However, there is no real substitute for paying attention to the  
documentation of the project and/or the GNU autoconfig (ie ./ 
configure file) or similar mechanism used to test for and link  
against optional dependencies.

-- 
-Chuck



More information about the freebsd-ports mailing list