Ports and their dependencies (run deps and also versioning questions)

Tabitha McNerney tabithamc at gmail.com
Mon Jun 9 17:53:51 PDT 2008


On 6/9/08, Ryan Schmidt <ryandesign at macports.org> wrote:
>
>
> On Jun 9, 2008, at 11:23, Tabitha McNerney wrote:
>
>  This may sound like a dumb question, but what would be a suggested way to
>> discover if Apple / Mac OS X is provided the same or similar library for a
>> non-port library dependency of type lib: (e.g. depends_lib: lib:libogg)? In
>> the case of a bin: type I can easily do something like:
>>
>> $ which perl
>>
>> Easy as pie. Is there a command similar to "which" that can be passed the
>> name of a library from a MacPorts file such as "libogg" written above? A
>> program such as libtool? Which would come back with info definitively yes or
>> no about the library name collision? I suppose I could also dig for it in
>> /usr/lib but it would be nice to have something like "which" for libraries
>> as part of my MacPorts quality control script.
>>
>
> Why do you want to know? :-)
>
> As a general rule, if you're writing a port that has dependencies on other
> libraries, declare the dependency on other MacPorts ports. There's no need
> to investigate which libraries might already be provided with the version of
> Mac OS X you happen to have on your computer because it might be different
> in other versions on Mac OS X which is why we try to use only other MacPorts
> ports so we know what we're getting.


Ryan, I think I am confused, sorry. The reason I want to know is that I want
to be sure that any of the hundreds of ports I install, say on an Xserve,
are in fact only dependent on libraries of other MacPorts which libraries
would need to be installed. In fact, I don't want any libraries to depend on
OS X's names of those same libraries but there might be an exception or two.
For example, I do use Apple's X11 application and so let's take the
ImageMagik MacPort as an example. ImageMagic has a depend_lib that outputs
on the command line (port info --depends_lib ...) with a non-port dependency
of type "lib:" like this:

lib:libX11.6:XFree86
>

How do I (or better yet a script I'm writing) parse that information?
Meaning, for example, are libraries associated with libX11.6 supplied by
another Mac Port, or does MacPorts look on the root file system (e.g., Mac
OS X 10.5 Leopard) to try and find the libraries supplied by Apple (?) with
the same namespace associated with "libX11.6"?

Another example, lets' take the sodipodi port. It has a library non-port
dependency that looks like this:

lib:libgnomeprintui-2-2:libgnomeprintui
>

Can either the libraries associated with libgnomeprintui-2-2 or
libgnomeprintui be provided potentially by Mac OS X? Or like the non-port
dependency of type path:, only these lib: non-port dependencies can be found
within the MacPorts prefix on the filesystem? I just want to be sure that I
can know with certainty if any of these libraries might be somehow be
provided by OS X and if so when to be alerted when this might be the case
ahead of time before I install a port.

I hope these questions are clearer, thanks!

T.M.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-users/attachments/20080609/d21f3053/attachment.htm 


More information about the macports-users mailing list