View previous topic :: View next topic |
Author |
Message |
sophie78 n00b
Joined: 23 Feb 2005 Posts: 35
|
Posted: Wed Mar 02, 2011 4:36 am Post subject: libX11.la No such file or directory [solved] |
|
|
I am trying to emerge world but multiple packages fail at this error
Code: |
/bin/sh ../libtool --silent --tag=CC --mode=compile i686-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/var/tmp/portage/x11-libs/libXmu-1.1.0/work/libXmu-1.1.0/src -I.. -I/var/tmp/portage/x11-libs/libXmu-1.1.0/work/libXmu-1.1.0/include -I/var/tmp/portage/x11-libs/libXmu-1.1.0/work/libXmu-1.1.0/include/X11/Xmu -DBITMAPDIR=\"/usr/include/X11/bitmaps\" -D_BSD_SOURCE -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -Wbad-function-cast -Wformat=2 -Wold-style-definition -Wdeclaration-after-statement -O2 -mtune=i686 -march=pentium4 -pipe -fomit-frame-pointer -c -o sharedlib.lo /var/tmp/portage/x11-libs/libXmu-1.1.0/work/libXmu-1.1.0/src/sharedlib.c
CCLD libXmuu.la
CCLD libXmu.la
/bin/grep: /usr/lib/libX11.la: No such file or directory
/usr/bin/sed: can't read /usr/lib/libX11.la: No such file or directory
libtool: link: `/usr/lib/libX11.la' is not a valid libtool archive
make[2]: *** [libXmu.la] Error 1
make[2]: Leaving directory `/var/tmp/portage/x11-libs/libXmu-1.1.0/work/libXmu-1.1.0_build/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/x11-libs/libXmu-1.1.0/work/libXmu-1.1.0_build'
make: *** [all] Error 2
emake failed
* ERROR: x11-libs/libXmu-1.1.0 failed:
* died running emake, base_src_make
*
* Call stack:
* ebuild.sh, line 56: Called src_compile
* environment, line 3441: Called xorg-2_src_compile
* environment, line 4253: Called autotools-utils_src_compile
* environment, line 486: Called base_src_compile
* environment, line 599: Called base_src_make
* environment, line 637: Called die
* The specific snippet of code:
* emake "$@" || die "died running emake, $FUNCNAME";
|
The above output is for libXmu, but upgrading gcc also fails with the same error. revdep-rebuild also fails due to a package failing to find libX11.la.
I have re-emerged libX11 and libtool multiple times with out problems.
ls -l /usr/lib/libX11.*
Code: |
lrwxrwxrwx 1 root root 15 Mar 1 16:06 /usr/lib/libX11.so -> libX11.so.6.3.0
lrwxrwxrwx 1 root root 15 Mar 1 16:06 /usr/lib/libX11.so.6 -> libX11.so.6.3.0
-rwxr-xr-x 1 root root 1186564 Mar 1 16:05 /usr/lib/libX11.so.6.3.0
|
The current version of libX11 does not create libX11.la. I am tempted to do a symlink of libX11.la to libX11.so.6.3.0 but I don't if that would be right or even the consequences afterwards. _________________ I like to think, things never go wrong for me.
Last edited by sophie78 on Mon Mar 14, 2011 1:12 am; edited 1 time in total |
|
Back to top |
|
|
VoidMage Watchman
Joined: 14 Oct 2006 Posts: 6196
|
Posted: Wed Mar 02, 2011 11:01 am Post subject: |
|
|
Next time, search a bit better.
Use revdep-rebuild or lafilefixer. |
|
Back to top |
|
|
desmodus n00b
Joined: 21 Dec 2005 Posts: 7
|
Posted: Wed Mar 02, 2011 11:53 am Post subject: |
|
|
Hi,
Just my tip as well...
But! The search engine for this forum is not the very best one!
I usually use google with the following params: site:forums.gentoo.org +"something to search for"
However, this gives you a lag in results, not covering the resent days. Doing a search for for example
"libX11.la" returns nothing when using the forum search engine.
I had the same problem. My first thought was to run revdep-rebuild, however, when doing so, I
ended up with the very same problem. Running emerge --depclean saved the day, cleaning out
some unnecessary libs and the revdep-rebuild again.
I did not know about lafilefixer. Did not turn up in any of my searches. I see that it is available in portage...
I'll try it to see if there are some libs missed out.
Lesson learned through out the years of using Gentoo is that; the longer you wait to do an update,
the greater the risk of trouble coming along.
Don't forget to put [SOLVED] in the post title if this resolves your problem.
Best regards
/D |
|
Back to top |
|
|
VoidMage Watchman
Joined: 14 Oct 2006 Posts: 6196
|
Posted: Wed Mar 02, 2011 12:37 pm Post subject: |
|
|
Well, technically, lafilefixer, even though it's in the tree, is just a quick hack,
but sometimes, as messy as it is, it's still enough. |
|
Back to top |
|
|
mhex Apprentice
Joined: 18 Feb 2005 Posts: 169 Location: Germany/Berlin
|
Posted: Wed Mar 02, 2011 1:29 pm Post subject: |
|
|
Hi,
hm, it's not solved here. Here are two machines. A laptop which is updated daily. On the laptop libX11 was updated the 14th February and the libX11.la was installed. However, today on updating the other system libX11.la was not installed. Reemerging libX11 on the laptop to see what's going on also deleted libX11.la now. So something has changed in portage between 14th February and today resulting in not building/installing the static libs. The USE flag static-libs was empty if checked with ufed today on both systems. |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9714 Location: almost Mile High in the USA
|
Posted: Sun Mar 06, 2011 4:37 am Post subject: |
|
|
OK the more complete answer about the .la file problem:
The program you're compiling is pulling in a .la file which is NOT shown on the compile error that wants to pull in the .la file that IS shown. This makes it hard to debug exactly which one, but if experienced enough it's not way too hard to find out which one. It may not be worth the effort.
I wish the linker would say which la file called for the missing la file. It's like the C compiler not telling you what line and what file when a syntax error occurs in a header (.h) file...
The stopgap and easier solution is to use lafilefixer as said before. Let it loose on all your .la files if you don't know which one. _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 21918
|
Posted: Sun Mar 06, 2011 5:45 am Post subject: |
|
|
eccerr0r wrote: | I wish the linker would say which la file called for the missing la file. | The linker does not process .la files. They are processed by libtool, which is also the program that propagated these references in the first place. |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9714 Location: almost Mile High in the USA
|
Posted: Sun Mar 06, 2011 7:08 am Post subject: |
|
|
ah even better, a specific tool to blame
I don't know how much frustration these lafiles have caused... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
wswartzendruber Veteran
Joined: 23 Mar 2004 Posts: 1261 Location: Idaho, USA
|
Posted: Sun Mar 06, 2011 7:23 am Post subject: |
|
|
So why is lafilefixer a hack and not a solution? |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 21918
|
Posted: Sun Mar 06, 2011 6:15 pm Post subject: |
|
|
wswartzendruber wrote: | So why is lafilefixer a hack and not a solution? | When you run lafilefixer, it simply edits the installed libtool archive files to delete unwanted references to libtool archives. It does not fix your package database checksums, so equery check will report the libtool archives as modified. There may be other reasons it is considered unclean.
The "proper" way to fix the problem is to rebuild the package which owns the libtool archive that contains a dangling reference. The new build should omit that dangling reference, since libtool does not add references that dangle at the time they are created. However, if that rebuild would be a reinstall rather than an upgrade, you are doing a great deal of work just to fix the libtool archive. Additionally, you may have dangling references in core libtool archives, such that you would be rebuilding a large number of packages in a very specific and non-obvious order if you wanted to pursue the "proper" fix. |
|
Back to top |
|
|
drizer n00b
Joined: 30 Jun 2005 Posts: 11
|
Posted: Mon Mar 07, 2011 2:35 pm Post subject: |
|
|
I had a similar prolem with libXi and libXmu - not generating .la
Just build the old way from tar.bz2 arch, configure, make, make install (defaults to /usr/local/lib ) move back to /usr/lib and run lafilefixer.
drizer |
|
Back to top |
|
|
VoidMage Watchman
Joined: 14 Oct 2006 Posts: 6196
|
Posted: Mon Mar 07, 2011 2:49 pm Post subject: |
|
|
drizer wrote: | I had a similar prolem with libXi and libXmu - not generating .la
Just build the old way from tar.bz2 arch, configure, make, make install (defaults to /usr/local/lib ) move back to /usr/lib and run lafilefixer.
drizer |
Don't give advices you fail to understand consequences of. |
|
Back to top |
|
|
garlicbread Apprentice
Joined: 06 Mar 2004 Posts: 182
|
Posted: Sat Mar 12, 2011 1:44 am Post subject: |
|
|
Just doing a recent update and ran into the same problem
this also seeems to affect pixman
it looks as if the la file is getting generated at the compile stage, copied at the install stage
but then at the last minuite during the install stage I end up with a
"Removing unnecessary /var/tmp/portage/x11-libs/pixman-0.20.2/image/usr/lib/libpixman-1.la"
get the same sort of thing with libXmu
both inherit from the xorg-2 eclass
digging into this leads me to the xorg-2_src_install section
where there's a couple of lines that read
Code: |
# Don't install libtool archives (even with static-libs)
remove_libtool_files all
|
which is a function within autotools-utils.eclass to remove all libtool files installed as part of the package
initial reactions were WTF?
browsing through the anon CVS leads me to
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/xorg-2.eclass?view=log
where this seems to have been added in, in version 1.24 Feb 28
it mentions in the comments "complete .la file removal," so it looks like this is intentional
perhaps these packages shouldn't be using the xorg-2 eclass?
will try and file this as a bug if someone hasn't already
Edit bug posted at
https://bugs.gentoo.org/show_bug.cgi?id=358481
in short I had to comment out the line
remove_libtool_files all
then enable the static-libs useflag for the package to get it to output the la file |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 21918
|
Posted: Sat Mar 12, 2011 5:12 am Post subject: |
|
|
garlicbread wrote: | perhaps these packages shouldn't be using the xorg-2 eclass? | I presume you ask this because you believe that these packages should install a libtool archive file and allow static linking. Is this correct? If so, why do you believe that these packages should support static linking? Generally, static linking is reserved to those tools which are meant to work in extremely minimal or very damaged environments, such as the busybox rescue shell. |
|
Back to top |
|
|
garlicbread Apprentice
Joined: 06 Mar 2004 Posts: 182
|
Posted: Sat Mar 12, 2011 9:39 am Post subject: |
|
|
It just looks as if the libtool archive is only installed if the static linking use flag is set
I'm not saying this is correct, just that this is currently how it works with the way the eclass files are setup which seems a bit strange
more likely the ebuilds should be able to install they're libtool files without static linking enabled, as you've said the static linking use flag is designed for minimal systems not for allowing the install of libtool files
it looks as if the changes to the xorg-2 ebuild were deliberate, which is why I suggested that the above ebuilds perhaps shouldn't be inheriting from xorg-2 eclass
Edit
looking at the bugzilla entry, it looks as if the removal of the la files is intentional
I can't remember which package was struggling to install without the la files as I think I've already upgraded them
but I've got a second system to update so I'll have another look to see if lafilefixer fixes the problem there |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 21918
|
Posted: Sat Mar 12, 2011 6:00 pm Post subject: |
|
|
garlicbread wrote: | It just looks as if the libtool archive is only installed if the static linking use flag is set
I'm not saying this is correct, just that this is currently how it works with the way the eclass files are setup which seems a bit strange
more likely the ebuilds should be able to install they're libtool files without static linking enabled, as you've said the static linking use flag is designed for minimal systems not for allowing the install of libtool files | The libtool archives are only needed if you install static libraries for the package and plan to subsequently use libtool in another package to link to those installed static libraries. DSOs contain enough metadata that you do not need a libtool archive to link to them. Static archives do not, so libtool stores the extra metadata in the .la file. You can link to an installed static archive without using libtool, in which case you do not need the .la. |
|
Back to top |
|
|
youngerhot n00b
Joined: 13 Mar 2011 Posts: 2
|
Posted: Sun Mar 13, 2011 7:13 am Post subject: |
|
|
I also met this problem when I install openbox WM for x system after upgrading the portage, one dependent package "x11-libs/libXft-2.2.0" can not complied and installed correctly, and it give me the information:
/bin/grep: /usr/lib/libX11.la: No such file or directory/bin/sed:
can't read /usr/lib/libX11.la: No such file or directory
libtool: link: `/usr/lib/libX11.la' is not a valid libtool archive
ERROR: x11-libs/libXft-2.2.0 failed:
died running emake, base_src_make
so you mean adding the USE flag "static-lib" when emerge the package may solve this problem?
Hu wrote: | garlicbread wrote: | It just looks as if the libtool archive is only installed if the static linking use flag is set
I'm not saying this is correct, just that this is currently how it works with the way the eclass files are setup which seems a bit strange
more likely the ebuilds should be able to install they're libtool files without static linking enabled, as you've said the static linking use flag is designed for minimal systems not for allowing the install of libtool files | The libtool archives are only needed if you install static libraries for the package and plan to subsequently use libtool in another package to link to those installed static libraries. DSOs contain enough metadata that you do not need a libtool archive to link to them. Static archives do not, so libtool stores the extra metadata in the .la file. You can link to an installed static archive without using libtool, in which case you do not need the .la. |
|
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 21918
|
Posted: Sun Mar 13, 2011 8:50 pm Post subject: |
|
|
youngerhot wrote: | so you mean adding the USE flag "static-lib" when emerge the package may solve this problem? | It might solve the problem, but it is not the best solution. You should either use lafilefixer to fix the installed libtool archives or rebuild the packages providing the affected libtool archives, so that they no longer reference libX11.la. |
|
Back to top |
|
|
sophie78 n00b
Joined: 23 Feb 2005 Posts: 35
|
Posted: Mon Mar 14, 2011 1:09 am Post subject: |
|
|
Yes lafilefixer did the trick although I had run it many months ago. I guess it has to be routine thing as packages come and go. _________________ I like to think, things never go wrong for me. |
|
Back to top |
|
|
fernnf n00b
Joined: 29 Mar 2011 Posts: 1
|
Posted: Tue Mar 29, 2011 11:05 pm Post subject: Re: libX11.la No such file or directory [solved] |
|
|
rebulild libX11 as
# USE="static-libs" emerge -av libX11
and will be create libX11.la
sophie78 wrote: | I am trying to emerge world but multiple packages fail at this error
Code: |
/bin/sh ../libtool --silent --tag=CC --mode=compile i686-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/var/tmp/portage/x11-libs/libXmu-1.1.0/work/libXmu-1.1.0/src -I.. -I/var/tmp/portage/x11-libs/libXmu-1.1.0/work/libXmu-1.1.0/include -I/var/tmp/portage/x11-libs/libXmu-1.1.0/work/libXmu-1.1.0/include/X11/Xmu -DBITMAPDIR=\"/usr/include/X11/bitmaps\" -D_BSD_SOURCE -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -Wbad-function-cast -Wformat=2 -Wold-style-definition -Wdeclaration-after-statement -O2 -mtune=i686 -march=pentium4 -pipe -fomit-frame-pointer -c -o sharedlib.lo /var/tmp/portage/x11-libs/libXmu-1.1.0/work/libXmu-1.1.0/src/sharedlib.c
CCLD libXmuu.la
CCLD libXmu.la
/bin/grep: /usr/lib/libX11.la: No such file or directory
/usr/bin/sed: can't read /usr/lib/libX11.la: No such file or directory
libtool: link: `/usr/lib/libX11.la' is not a valid libtool archive
make[2]: *** [libXmu.la] Error 1
make[2]: Leaving directory `/var/tmp/portage/x11-libs/libXmu-1.1.0/work/libXmu-1.1.0_build/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/x11-libs/libXmu-1.1.0/work/libXmu-1.1.0_build'
make: *** [all] Error 2
emake failed
* ERROR: x11-libs/libXmu-1.1.0 failed:
* died running emake, base_src_make
*
* Call stack:
* ebuild.sh, line 56: Called src_compile
* environment, line 3441: Called xorg-2_src_compile
* environment, line 4253: Called autotools-utils_src_compile
* environment, line 486: Called base_src_compile
* environment, line 599: Called base_src_make
* environment, line 637: Called die
* The specific snippet of code:
* emake "$@" || die "died running emake, $FUNCNAME";
|
The above output is for libXmu, but upgrading gcc also fails with the same error. revdep-rebuild also fails due to a package failing to find libX11.la.
I have re-emerged libX11 and libtool multiple times with out problems.
ls -l /usr/lib/libX11.*
Code: |
lrwxrwxrwx 1 root root 15 Mar 1 16:06 /usr/lib/libX11.so -> libX11.so.6.3.0
lrwxrwxrwx 1 root root 15 Mar 1 16:06 /usr/lib/libX11.so.6 -> libX11.so.6.3.0
-rwxr-xr-x 1 root root 1186564 Mar 1 16:05 /usr/lib/libX11.so.6.3.0
|
The current version of libX11 does not create libX11.la. I am tempted to do a symlink of libX11.la to libX11.so.6.3.0 but I don't if that would be right or even the consequences afterwards. |
|
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 21918
|
Posted: Wed Mar 30, 2011 3:11 am Post subject: Re: libX11.la No such file or directory [solved] |
|
|
fernnf wrote: | rebulild libX11 as
# USE="static-libs" emerge -av libX11
and will be create libX11.la | As I stated above, though that avoids the immediate problem, it is the wrong solution. The OP already fixed the system by correcting the .la files directly. |
|
Back to top |
|
|
freedio n00b
Joined: 04 Nov 2010 Posts: 2 Location: Switzerland
|
Posted: Mon Apr 11, 2011 8:49 am Post subject: |
|
|
desmodus wrote: | Lesson learned through out the years of using Gentoo is that; the longer you wait to do an update,
the greater the risk of trouble coming along. |
That's THE major problem of gentoo:
Either you spend hours on hours for keeping your system up to date—and every 5th or so renders your system partially unusable or at least unstable so that you have to invest even more (usually night) hours to fix it,
Or you just update your system when it's really necessary—and run into troubles like these, which—I agree with you from experience—accumulate with time.
*sigh*
That's my main reason for using debian stable for my servers. Every single update just works: no trouble ever since more than 12 years (except those I provoked by myself). |
|
Back to top |
|
|
b4gumby n00b
Joined: 28 Sep 2009 Posts: 41
|
Posted: Sat May 14, 2011 12:37 pm Post subject: |
|
|
freedio wrote: | desmodus wrote: | Lesson learned through out the years of using Gentoo is that; the longer you wait to do an update,
the greater the risk of trouble coming along. |
That's THE major problem of gentoo:
Either you spend hours on hours for keeping your system up to date—and every 5th or so renders your system partially unusable or at least unstable so that you have to invest even more (usually night) hours to fix it,
Or you just update your system when it's really necessary—and run into troubles like these, which—I agree with you from experience—accumulate with time.
*sigh*
That's my main reason for using debian stable for my servers. Every single update just works: no trouble ever since more than 12 years (except those I provoked by myself). |
Well, me being a n00b im going to say this quite clearly,
Unless u know what ur doing, in Prod, u dont to it.
(cheers) |
|
Back to top |
|
|
jwezel n00b
Joined: 29 Jan 2003 Posts: 58 Location: Birr, Switzerland
|
Posted: Sun May 15, 2011 8:48 am Post subject: |
|
|
VoidMage wrote: | Next time, search a bit better.
Use revdep-rebuild or lafilefixer. |
Even if it might be true, this reply is IMHO to rude. _________________ Johnny Wezel |
|
Back to top |
|
|
Se7enLC Tux's lil' helper
Joined: 22 Aug 2003 Posts: 88
|
Posted: Sun Oct 30, 2011 2:36 pm Post subject: |
|
|
jwezel wrote: | VoidMage wrote: | Next time, search a bit better.
Use revdep-rebuild or lafilefixer. |
Even if it might be true, this reply is IMHO too rude. |
Agreed. It's annoying as heck to have a problem (like this one) and search forums only find that every other person asking about it is told "use the search feature, n00b". I am using search, and THIS is the thread that comes up! SO it's a good thing people still answered the thread.
Anybody that feels like dismissing a question with "search better" - try the search out yourself and link to the useful threads. Future searchers will thank you instead of cursing your name for extinguishing every thread asking the question they need an answer for. |
|
Back to top |
|
|
|