On Feb 10, 2013, at 1:49 AM, Ryan Schmidt <[email protected]> wrote:

> 
> On Feb 10, 2013, at 03:38, Jeremy Huddleston Sequoia wrote:
> 
>> 
>>>>>> What makes you think that?  There's no reason to think that a port would 
>>>>>> use icu just because it's using pango.
>>>>> 
>>>>> The output of otool -L.
>>>> 
>>>> Yeah, that's the problem.  Look at the output of nm -m, and you'll see 
>>>> it's not actually using icu.  It's just linking against it because of 
>>>> glibtool's viral propagation of linkage.
>>> 
>>> What I mean is that I get messages that libraries a program or library 
>>> links with cannot be found. In that sense at least, they are being "used". 
>>> Therefore I revbump the affected port to rebuild it with the current 
>>> version of the library and thus clear the error.
>> 
>> Yep, because of glibtool suckage, we need to rebump everything that depends 
>> indirectly on icu (through pango) and builds with glibtool … even packages 
>> that seem ok to you because you happened to have built them before pango was 
>> updated (because someone else may have built it after the viral spread of 
>> that link by glibtool).
> 
> I noticed pangox-compat doesn't link with icu even if I rebuild it now. Any 
> idea why it's immune? It does build with libtool. It's its own copy of GNU 
> libtool built at configure time, not MacPorts glibtool.

The copy of glibtool it uses shouldn't matter.  I don't know.  Is pangox-compat 
not linking against harfbuzz?

>>>>>> Why are we even shipping the .la files.  We should really just delete 
>>>>>> them from every destroot as they serve no useful purpose and always seem 
>>>>>> to just screw up builds.
>>>>> 
>>>>> I don't know what .la files are for so I'm not in a position to be able 
>>>>> to assert that we should remove them.
>>>> 
>>>> .la files are "instructions" that glibtool leaves for itself on how it 
>>>> should link against a particular library.  They're sometimes useful on 
>>>> other platforms, but on OS X, they serve absolutely NO useful purpose.
>>> 
>>> Then I'm surprised MacPorts has gone 11 years already without removing 
>>> them. Do other OS X package managers remove them?
>> 
>> I don't know about fink or homebrew, so I can't comment there, but I 
>> certainly removed them from XQuartz after they messed things up quite a bit 
>> for X11 users.  There were also a handful of them shipped with OS X (in 
>> /usr/lib), but we got rid of them in Snow Leopard.
> 
> There are still .la files in /usr/lib on Mountain Lion (in 
> /usr/lib/freeradius and /usr/lib/sasl2)

~ $ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.8.2
BuildVersion:   12C60

~ $ ls /usr/lib/*la
gls: cannot access /usr/lib/*la: No such file or directory

I didn't see those ones in freeradius and sasl2 … time to file a radar =)

> , and many in MacPorts in directories other than /opt/local/lib.

Yeah, pretty much any port which builds a library with glibtool (which is the 
overwhelming majority of OSS libraries) will be in this boat.

> Can we just go nuts and fs-traverse ${destroot} and remove all .la files 
> wherever they might be? We could use `file` to make sure they're text files 
> before doing so, in case some weird software somewhere uses its own .la files 
> that are not libtool files.

I once got pissed at MacPorts and just nuked /opt/local/lib/*.la and nothing 
bad ever happened to me.

--Jermey
_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to