* [gentoo-user] Library file formats
@ 2009-10-16 11:20 Peter Humphrey
2009-10-16 11:37 ` Neil Bothwick
0 siblings, 1 reply; 16+ messages in thread
From: Peter Humphrey @ 2009-10-16 11:20 UTC (permalink / raw
To: gentoo-user
Hello list,
I thought I'd have a play with swami, but the emerge fails with "/bin/sed:
can't read /usr/lib64/libogg.la: No such file or directory", and indeed there
is none such.
I have libogg installed, and the files it's put into /usr/lib64 are:
/usr/lib64/libogg.a
/usr/lib64/libogg.so -> libogg.so.0.6.0
/usr/lib64/libogg.so.0 -> libogg.so.0.6.0
/usr/lib64/libogg.so.0.6.0
I'm not familiar with library file formats; what are my options here?
--
Rgds
Peter
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user] Library file formats
2009-10-16 11:20 [gentoo-user] Library file formats Peter Humphrey
@ 2009-10-16 11:37 ` Neil Bothwick
2009-10-16 11:59 ` Peter Humphrey
2009-10-16 16:54 ` [gentoo-user] " walt
0 siblings, 2 replies; 16+ messages in thread
From: Neil Bothwick @ 2009-10-16 11:37 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 473 bytes --]
On Fri, 16 Oct 2009 12:20:30 +0100, Peter Humphrey wrote:
> I thought I'd have a play with swami, but the emerge fails with
> "/bin/sed: can't read /usr/lib64/libogg.la: No such file or directory",
> and indeed there is none such.
The elog message from the last libogg install explains this. Run
lafilefixer --justfixit.
--
Neil Bothwick
Barth's Distinction:
There are two types of people: those who divide people into two types, and
those who don't.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user] Library file formats
2009-10-16 11:37 ` Neil Bothwick
@ 2009-10-16 11:59 ` Peter Humphrey
2009-10-16 12:04 ` Neil Bothwick
2009-10-16 16:54 ` [gentoo-user] " walt
1 sibling, 1 reply; 16+ messages in thread
From: Peter Humphrey @ 2009-10-16 11:59 UTC (permalink / raw
To: gentoo-user
On Friday 16 October 2009 12:37:04 Neil Bothwick wrote:
> The elog message from the last libogg install explains this.
Hmm, I think that's too long ago.
> Run lafilefixer --justfixit.
I don't have an lafilefixer; which package is it in?
--
Rgds
Peter
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user] Library file formats
2009-10-16 11:59 ` Peter Humphrey
@ 2009-10-16 12:04 ` Neil Bothwick
2009-10-16 12:10 ` Volker Armin Hemmann
2009-10-16 15:53 ` peter
0 siblings, 2 replies; 16+ messages in thread
From: Neil Bothwick @ 2009-10-16 12:04 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 323 bytes --]
On Fri, 16 Oct 2009 12:59:46 +0100, Peter Humphrey wrote:
> > Run lafilefixer --justfixit.
>
> I don't have an lafilefixer; which package is it in?
eix could have told you that.
--
Neil Bothwick
Duct tape is the just like the Force: it has a light side, a dark side,
and binds the universe together.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user] Library file formats
2009-10-16 12:04 ` Neil Bothwick
@ 2009-10-16 12:10 ` Volker Armin Hemmann
2009-10-17 9:21 ` Neil Bothwick
2009-10-16 15:53 ` peter
1 sibling, 1 reply; 16+ messages in thread
From: Volker Armin Hemmann @ 2009-10-16 12:10 UTC (permalink / raw
To: gentoo-user
On Freitag 16 Oktober 2009, Neil Bothwick wrote:
> On Fri, 16 Oct 2009 12:59:46 +0100, Peter Humphrey wrote:
> > > Run lafilefixer --justfixit.
> >
> > I don't have an lafilefixer; which package is it in?
>
> eix could have told you that.
>
or emerge -s
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user] Library file formats
2009-10-16 12:04 ` Neil Bothwick
2009-10-16 12:10 ` Volker Armin Hemmann
@ 2009-10-16 15:53 ` peter
1 sibling, 0 replies; 16+ messages in thread
From: peter @ 2009-10-16 15:53 UTC (permalink / raw
To: gentoo-user
On Friday 16 October 2009 13:04:31 Neil Bothwick wrote:
> On Fri, 16 Oct 2009 12:59:46 +0100, Peter Humphrey wrote:
> > > Run lafilefixer --justfixit.
> >
> > I don't have an lafilefixer; which package is it in?
>
> eix could have told you that.
Ah, yes, sorry - it didn't look like a package name but a utility from
another package.
Must try harder not to ask stupid questions in the morning...
^ permalink raw reply [flat|nested] 16+ messages in thread
* [gentoo-user] Re: Library file formats
2009-10-16 11:37 ` Neil Bothwick
2009-10-16 11:59 ` Peter Humphrey
@ 2009-10-16 16:54 ` walt
2009-10-16 17:05 ` Volker Armin Hemmann
2009-10-16 18:06 ` Mike Edenfield
1 sibling, 2 replies; 16+ messages in thread
From: walt @ 2009-10-16 16:54 UTC (permalink / raw
To: gentoo-user
On 10/16/2009 04:37 AM, Neil Bothwick wrote:
> On Fri, 16 Oct 2009 12:20:30 +0100, Peter Humphrey wrote:
>
>> I thought I'd have a play with swami, but the emerge fails with
>> "/bin/sed: can't read /usr/lib64/libogg.la: No such file or directory",
>> and indeed there is none such.
>
> The elog message from the last libogg install explains this. Run
> lafilefixer --justfixit.
There is no manpage for lafilefixer, but the --help flag prints:
--justfixit Choose some reasonable dirs, such as /usr/lib*, etc. ,
find all .la files and fix them to not use .la files
for linking
I can't make sense out of that -- one of the major uses of libtool (I thought)
is for linking. Can anyone 'splain that to me?
Thanks.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user] Re: Library file formats
2009-10-16 16:54 ` [gentoo-user] " walt
@ 2009-10-16 17:05 ` Volker Armin Hemmann
2009-10-16 18:06 ` Mike Edenfield
1 sibling, 0 replies; 16+ messages in thread
From: Volker Armin Hemmann @ 2009-10-16 17:05 UTC (permalink / raw
To: gentoo-user
On Freitag 16 Oktober 2009, walt wrote:
> On 10/16/2009 04:37 AM, Neil Bothwick wrote:
> > On Fri, 16 Oct 2009 12:20:30 +0100, Peter Humphrey wrote:
> >> I thought I'd have a play with swami, but the emerge fails with
> >> "/bin/sed: can't read /usr/lib64/libogg.la: No such file or directory",
> >> and indeed there is none such.
> >
> > The elog message from the last libogg install explains this. Run
> > lafilefixer --justfixit.
>
> There is no manpage for lafilefixer, but the --help flag prints:
>
> --justfixit Choose some reasonable dirs, such as /usr/lib*,
> etc. , find all .la files and fix them to not use .la files for linking
>
> I can't make sense out of that -- one of the major uses of libtool (I
> thought) is for linking. Can anyone 'splain that to me?
>
> Thanks.
>
AFAIK the help printout is not entirely correct. It corrects the path' used in
the la files,
I recommend this reads:
http://blog.flameeyes.eu/2008/04/14/what-about-those-la-files
http://blog.flameeyes.eu/2008/07/02/again-about-la-files-or-why-should-they-be-
killed-off-sooner-rather-than-later
http://blog.flameeyes.eu/2009/04/18/some-details-about-our-old-friends-the-la-
files
http://blog.flameeyes.eu/2009/09/28/removing-la-files-for-dum-w-uncertain-people
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user] Re: Library file formats
2009-10-16 16:54 ` [gentoo-user] " walt
2009-10-16 17:05 ` Volker Armin Hemmann
@ 2009-10-16 18:06 ` Mike Edenfield
2009-10-16 18:51 ` walt
1 sibling, 1 reply; 16+ messages in thread
From: Mike Edenfield @ 2009-10-16 18:06 UTC (permalink / raw
To: gentoo-user
On 10/16/2009 12:54 PM, walt wrote:
> On 10/16/2009 04:37 AM, Neil Bothwick wrote:
>> On Fri, 16 Oct 2009 12:20:30 +0100, Peter Humphrey wrote:
>>
>>> I thought I'd have a play with swami, but the emerge fails with
>>> "/bin/sed: can't read /usr/lib64/libogg.la: No such file or directory",
>>> and indeed there is none such.
>>
>> The elog message from the last libogg install explains this. Run
>> lafilefixer --justfixit.
>
> There is no manpage for lafilefixer, but the --help flag prints:
>
> --justfixit Choose some reasonable dirs, such as /usr/lib*, etc. ,
> find all .la files and fix them to not use .la files
> for linking
>
> I can't make sense out of that -- one of the major uses of libtool (I thought)
> is for linking. Can anyone 'splain that to me?
One of the major problems with .la files (besides being mostly useless
on Linux/FreeBSD/any other ELF-based OS) is when they refer to other .la
files instead of linking directly to the binaries. This breaks things
when they get removed from a ebuild for a library that other libraries
depend on.
The only time that libtool archives provide a real benefit is when
there's a need to link in static libraries that have external
dependencies -- the libtool archive defines the dependency information
that can't be stored in the static archive format. If you don't have
any publicly-consumed static libraries, .la files are just pointless
clutter, so package maintainers very often remove them. Any build
system depending on libtool for its linking then breaks because the
dependency chain is broken.
Take, for example, this very real example from my system. I have both
hal and dbus installed; hal depends on dbus, and both packages install
libtool archives. In /usr/lib/libhal.la, there is the following:
# Libraries that this one depends upon.
dependency_libs=' /usr/lib/libdbus-1.la -lcap -lpthread -lrt'
Thus, whenever a package that uses hal tells libtool to link to
libhal.la, libtool recursively links to libdbus-1.la as well.
Now, say the dbus maintainer suddenly doesn't like .la files (perhaps a
bad break-up in Los Angeles), and removes them from the ebuild. The
next time I true to use libtool to link in hal, it will fail because the
latest dbus does not include /usr/lib/libdbus-1.la.
The fix is to run lafilefixer, which changes the above line to say:
# Libraries that this one depends upon.
dependency_libs=' -L/usr/lib -ldbus-1 -lcap -lpthread -lrt'
So that hal no longer cares whether or not the dbus package installed
its libtool archive, and all is well.
--Mike
^ permalink raw reply [flat|nested] 16+ messages in thread
* [gentoo-user] Re: Library file formats
2009-10-16 18:06 ` Mike Edenfield
@ 2009-10-16 18:51 ` walt
0 siblings, 0 replies; 16+ messages in thread
From: walt @ 2009-10-16 18:51 UTC (permalink / raw
To: gentoo-user
On 10/16/2009 11:06 AM, Mike Edenfield wrote:
> On 10/16/2009 12:54 PM, walt wrote:
>> On 10/16/2009 04:37 AM, Neil Bothwick wrote:
>>> On Fri, 16 Oct 2009 12:20:30 +0100, Peter Humphrey wrote:
>>>
>>>> I thought I'd have a play with swami, but the emerge fails with
>>>> "/bin/sed: can't read /usr/lib64/libogg.la: No such file or directory",
>>>> and indeed there is none such.
>>>
>>> The elog message from the last libogg install explains this. Run
>>> lafilefixer --justfixit.
>>
>> There is no manpage for lafilefixer, but the --help flag prints:
>>
>> --justfixit Choose some reasonable dirs, such as
>> /usr/lib*, etc. ,
>> find all .la files and fix them to not use
>> .la files
>> for linking
>>
>> I can't make sense out of that -- one of the major uses of libtool (I
>> thought)
>> is for linking. Can anyone 'splain that to me?
>
> One of the major problems with .la files (besides being mostly useless
> on Linux/FreeBSD/any other ELF-based OS) is when they refer to other .la
> files instead of linking directly to the binaries. This breaks things
> when they get removed from a ebuild for a library that other libraries
> depend on.
>
> The only time that libtool archives provide a real benefit is when
> there's a need to link in static libraries that have external
> dependencies -- the libtool archive defines the dependency information
> that can't be stored in the static archive format. If you don't have
> any publicly-consumed static libraries, .la files are just pointless
> clutter, so package maintainers very often remove them. Any build
> system depending on libtool for its linking then breaks because the
> dependency chain is broken.
>
> Take, for example, this very real example from my system. I have both
> hal and dbus installed; hal depends on dbus, and both packages install
> libtool archives. In /usr/lib/libhal.la, there is the following:
>
> # Libraries that this one depends upon.
> dependency_libs=' /usr/lib/libdbus-1.la -lcap -lpthread -lrt'
>
> Thus, whenever a package that uses hal tells libtool to link to
> libhal.la, libtool recursively links to libdbus-1.la as well.
>
> Now, say the dbus maintainer suddenly doesn't like .la files (perhaps a
> bad break-up in Los Angeles), and removes them from the ebuild.
I think .la files are an adequate reason to dislike .la files :o)
They have certainly wasted many frustrated hours for me.
> The
> next time I true to use libtool to link in hal, it will fail because the
> latest dbus does not include /usr/lib/libdbus-1.la.
>
> The fix is to run lafilefixer, which changes the above line to say:
>
> # Libraries that this one depends upon.
> dependency_libs=' -L/usr/lib -ldbus-1 -lcap -lpthread -lrt'
>
> So that hal no longer cares whether or not the dbus package installed
> its libtool archive, and all is well.
An excellent 'splain, thank you very much :o) Thanks also to Volker for
the links to Diego's blogs. I'm about halfway through them now.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user] Library file formats
2009-10-16 12:10 ` Volker Armin Hemmann
@ 2009-10-17 9:21 ` Neil Bothwick
2009-10-17 9:30 ` Volker Armin Hemmann
0 siblings, 1 reply; 16+ messages in thread
From: Neil Bothwick @ 2009-10-17 9:21 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 375 bytes --]
On Fri, 16 Oct 2009 14:10:22 +0200, Volker Armin Hemmann wrote:
> > eix could have told you that.
>
> or emerge -s
My point was that using eix is faster than posting to the list and
awaiting a reply. The same is not necessarily true of emerge -s :(
--
Neil Bothwick
Politicians are like nappies
Both should be changed regularly, and for the same reason
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user] Library file formats
2009-10-17 9:21 ` Neil Bothwick
@ 2009-10-17 9:30 ` Volker Armin Hemmann
2009-10-17 11:36 ` Neil Bothwick
0 siblings, 1 reply; 16+ messages in thread
From: Volker Armin Hemmann @ 2009-10-17 9:30 UTC (permalink / raw
To: gentoo-user
On Samstag 17 Oktober 2009, Neil Bothwick wrote:
> On Fri, 16 Oct 2009 14:10:22 +0200, Volker Armin Hemmann wrote:
> > > eix could have told you that.
> >
> > or emerge -s
>
> My point was that using eix is faster than posting to the list and
> awaiting a reply. The same is not necessarily true of emerge -s :(
>
depends on your harddisk and filesystem. emerge -s can be as fast as eix on my
box.
emerge -S on the other hand ....
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user] Library file formats
2009-10-17 9:30 ` Volker Armin Hemmann
@ 2009-10-17 11:36 ` Neil Bothwick
2009-10-17 17:10 ` Volker Armin Hemmann
0 siblings, 1 reply; 16+ messages in thread
From: Neil Bothwick @ 2009-10-17 11:36 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 935 bytes --]
On Sat, 17 Oct 2009 11:30:32 +0200, Volker Armin Hemmann wrote:
> > My point was that using eix is faster than posting to the list and
> > awaiting a reply. The same is not necessarily true of emerge -s :(
> >
>
> depends on your harddisk and filesystem. emerge -s can be as fast as
> eix on my box.
On a reasonably fast system (dual core 64 bit with RAID5 over SATA2):
eix lafilefixer 0.03s user 0.01s system 13% cpu 0.288 total
emerge -s lafilefixer 1.37s user 0.19s system 63% cpu 2.460 total
almost ten times as long.
On a much slower system, Dell Mini 10:
eix lafilefixer 0.17s user 0.05s system 17% cpu 1.251 total
emerge -s lafilefixer 8.64s user 1.46s system 42% cpu 23.803 total
Nearer twenty times as long.
So the conclusion is that if you spend enough on hardware, emerge -s is
only ten times slower than eix :-O
--
Neil Bothwick
Press any key... no, no, no, NOT THAT ONE!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user] Library file formats
2009-10-17 11:36 ` Neil Bothwick
@ 2009-10-17 17:10 ` Volker Armin Hemmann
2009-10-18 11:57 ` Neil Bothwick
0 siblings, 1 reply; 16+ messages in thread
From: Volker Armin Hemmann @ 2009-10-17 17:10 UTC (permalink / raw
To: gentoo-user
On Samstag 17 Oktober 2009, Neil Bothwick wrote:
> On Sat, 17 Oct 2009 11:30:32 +0200, Volker Armin Hemmann wrote:
> > > My point was that using eix is faster than posting to the list and
> > > awaiting a reply. The same is not necessarily true of emerge -s :(
> >
> > depends on your harddisk and filesystem. emerge -s can be as fast as
> > eix on my box.
>
> On a reasonably fast system (dual core 64 bit with RAID5 over SATA2):
>
> eix lafilefixer 0.03s user 0.01s system 13% cpu 0.288 total
> emerge -s lafilefixer 1.37s user 0.19s system 63% cpu 2.460 total
>
> almost ten times as long.
>
> On a much slower system, Dell Mini 10:
>
> eix lafilefixer 0.17s user 0.05s system 17% cpu 1.251 total
> emerge -s lafilefixer 8.64s user 1.46s system 42% cpu 23.803 total
>
> Nearer twenty times as long.
>
> So the conclusion is that if you spend enough on hardware, emerge -s is
> only ten times slower than eix :-O
>
and the difference is still just a second
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user] Library file formats
2009-10-17 17:10 ` Volker Armin Hemmann
@ 2009-10-18 11:57 ` Neil Bothwick
2009-10-18 12:31 ` Volker Armin Hemmann
0 siblings, 1 reply; 16+ messages in thread
From: Neil Bothwick @ 2009-10-18 11:57 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 436 bytes --]
On Sat, 17 Oct 2009 19:10:22 +0200, Volker Armin Hemmann wrote:
> > eix lafilefixer 0.17s user 0.05s system 17% cpu 1.251 total
> > emerge -s lafilefixer 8.64s user 1.46s system 42% cpu 23.803 total
> and the difference is still just a second
I think your calculator needs new batteries. 23.8 -1.2 was != 1 when I
was at school :(
--
Neil Bothwick
This fortune soaks up 47 times its own weight in excess memory.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-user] Library file formats
2009-10-18 11:57 ` Neil Bothwick
@ 2009-10-18 12:31 ` Volker Armin Hemmann
0 siblings, 0 replies; 16+ messages in thread
From: Volker Armin Hemmann @ 2009-10-18 12:31 UTC (permalink / raw
To: gentoo-user
On Sonntag 18 Oktober 2009, Neil Bothwick wrote:
> On Sat, 17 Oct 2009 19:10:22 +0200, Volker Armin Hemmann wrote:
> > > eix lafilefixer 0.17s user 0.05s system 17% cpu 1.251 total
> > > emerge -s lafilefixer 8.64s user 1.46s system 42% cpu 23.803 total
> >
> > and the difference is still just a second
>
> I think your calculator needs new batteries. 23.8 -1.2 was != 1 when I
> was at school :(
>
oops, sorry, I misread. Major brainfart while reading.
btw, here:
emerge -s lafilefixer 1,42s user 0,15s system 98% cpu 1,595 total
eix lafilefixer 0,09s user 0,05s system 47% cpu 0,287 total
just a bit over a second.
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2009-10-18 12:31 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-16 11:20 [gentoo-user] Library file formats Peter Humphrey
2009-10-16 11:37 ` Neil Bothwick
2009-10-16 11:59 ` Peter Humphrey
2009-10-16 12:04 ` Neil Bothwick
2009-10-16 12:10 ` Volker Armin Hemmann
2009-10-17 9:21 ` Neil Bothwick
2009-10-17 9:30 ` Volker Armin Hemmann
2009-10-17 11:36 ` Neil Bothwick
2009-10-17 17:10 ` Volker Armin Hemmann
2009-10-18 11:57 ` Neil Bothwick
2009-10-18 12:31 ` Volker Armin Hemmann
2009-10-16 15:53 ` peter
2009-10-16 16:54 ` [gentoo-user] " walt
2009-10-16 17:05 ` Volker Armin Hemmann
2009-10-16 18:06 ` Mike Edenfield
2009-10-16 18:51 ` walt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox