Gentoo Archives: gentoo-amd64

From: Nathan Phillip Brink <ohnobinki@××××××××××××××.net>
To: gentoo-amd64@l.g.o
Subject: Re: [gentoo-amd64] No LibX11 Libtool Archive Installed
Date: Mon, 28 Mar 2011 03:30:33
Message-Id: 20110328033218.GF6426@ohnopublishing.net
In Reply to: Re: [gentoo-amd64] No LibX11 Libtool Archive Installed by Dale
1 On Sun, Mar 27, 2011 at 10:16:18PM -0500, Dale wrote:
2 > Frank Peters wrote:
3 > > Hello,
4 > >
5 > > The latest GTK+-2.24.3 failed to build on my system because of the
6 > > following error:
7 > >
8 > > /bin/grep: /usr/lib64/libX11.la: No such file or directory
9 > > /bin/sed: can't read /usr/lib64/libX11.la: No such file or directory
10 > > libtool: link: `/usr/lib64/libX11.la' is not a valid libtool archive
11 > >
12 > > The libX11.la that is missing should be in the x11-libs/libX11 package.
13 > > But why is libX11.la missing?
14 > >
15 > > I can emerge libX11 using USE="static-libs" or USE="-static-libs"
16 > > but libX11.la is not produced in either case.
17 > >
18 > > The emerge log when building libX11 always shows the following:
19 > >
20 > > Removing unnecessary ... x11-libs/libX11-1.4.2/image/usr/lib64/libX11-xcb.la
21 > > Removing unnecessary ... x11-libs/libX11-1.4.2/image/usr/lib64/libX11.la
22 > >
23 > > So the .la files are being produced but are being removed afterwards.
24 > >
25 > > Does anyone else have a missing /usr/lib64/libX11.la file?
26 > >
27 > > Frank Peters
28 > >
29 > >
30 > >
31 >
32 > I think I read on -dev that .la files were being removed. It seems to
33 > have been causing trouble when packages were being updating that were
34 > linked against each other. So, they made things so that they would work
35 > without them and removed them.
36
37 Yeah, something like this.
38
39 The problem is that other .la files in /usr/lib* will directly
40 reference libX11.la. Thus, when libtool is used by GTK+ to link
41 against some library it depends on _other_ than libX11, that other
42 library will say ``I need /usr/lib64/libX11.la''. libtool tries to
43 load this file and give you the lovely error message above.
44
45 What you essentially need to do is find all /usr/lib*/lib*.la file
46 which contain the string ``libX11.la'' and remove ``libX11.la'' from
47 those files and/or just delete those .la files which have
48 ``libX11.la'' in them. In my experience,
49 $ rm /usr/lib??/lib*.la
50 fixes such problems just fine.
51
52 *However*, people will probably recommend you install lafilefixer and
53 run
54 $ lafilefixer --justfixit
55
56 However, I've never done this myself so I'm just regurgitating what
57 I've heard from others... ;-). (I use the unofficial portage-multilib
58 branch of portage which almost completely disables .la file
59 installation and thus I _never_ hit this sort of ``can't find
60 libX11.la'' problem anymore.)
61
62 > That is oversimplified since it was a while back but I think that is
63 > normal nowadays. Someone correct me if I am wrong on this.
64 >
65 > Dale
66 >
67 > :-) :-)
68 >
69
70 --
71 binki
72
73 Look out for missing apostrophes!