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! |