Moving X11 install into their own subdirectory

Jeremy Huddleston jeremyhu at macports.org
Tue Mar 17 13:26:46 PDT 2009


On Mar 17, 2009, at 11:33, Blair Zajac wrote:

> Blair Zajac wrote:
>> I've asked ZeroC to suggest an alternate name for their shared  
>> library and I think the only solution is to rename their shared  
>> library.
>
> A reply from ZeroC on this:
>
> > On MacOS X, libIce.dylib is just a symbolic link to libIce.33.dylib,
> > itself a symbolic link to libIce.3.3.0.dylib and soon
> > libIce.3.3.1.dylib, and this symbolic link should be used only when
> > linking an application, and not at runtime.
> >
> > So the issue occurs if you're using a case-insensitive file  
> system, and:
> >  - you're building an application that links with both libICE and  
> libIce
> > (which would seem uncommon), or
> >  - all your library symbolic links are installed in the same  
> directory
> > (e.g. /usr/lib).
> >
> > At first glance, my preference in this case would be to rename  
> only the
> > conflicting symbolic link, but not the symbolic links/libraries it
> > points to, for example: libZeroCIce.dylib -> libIce.33.dylib ->
> > libIce.3.3.0.dylib
> >
> > and then of course adjust your makefiles to use -lZeroCIce instead  
> of -lIce.
>
> Any comments on this approach?

Curious... Why is it libIce.33.dylib and not libIce.3.dylib as the  
libIce.3.3.0.dylib seems to indicate it should be?

Is it built using libtool?  If so, that seems really inconsistent.   
What does 'otool -L /opt/local/lib/libIce.33.dylib' say?

This is a "good enough" solution for the short term.  libICE is at  
libICE.6.dylib, so we just need to watch to make sure there's never  
conflict between the two.

Why not just go one step further and actually rename the dylibs  
libZeroCIce.33.dylib and libZeroCIce.3.3.0.dylib?  That seems safer,  
easier, and less confusing.



More information about the macports-dev mailing list