Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
libX11.la No such file or directory [solved]
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
sophie78
n00b
n00b


Joined: 23 Feb 2005
Posts: 35

PostPosted: Wed Mar 02, 2011 4:36 am    Post subject: libX11.la No such file or directory [solved] Reply with quote

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
View user's profile Send private message
VoidMage
Watchman
Watchman


Joined: 14 Oct 2006
Posts: 6196

PostPosted: Wed Mar 02, 2011 11:01 am    Post subject: Reply with quote

Next time, search a bit better.
Use revdep-rebuild or lafilefixer.
Back to top
View user's profile Send private message
desmodus
n00b
n00b


Joined: 21 Dec 2005
Posts: 7

PostPosted: Wed Mar 02, 2011 11:53 am    Post subject: Reply with quote

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
View user's profile Send private message
VoidMage
Watchman
Watchman


Joined: 14 Oct 2006
Posts: 6196

PostPosted: Wed Mar 02, 2011 12:37 pm    Post subject: Reply with quote

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
View user's profile Send private message
mhex
Apprentice
Apprentice


Joined: 18 Feb 2005
Posts: 169
Location: Germany/Berlin

PostPosted: Wed Mar 02, 2011 1:29 pm    Post subject: Reply with quote

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
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9714
Location: almost Mile High in the USA

PostPosted: Sun Mar 06, 2011 4:37 am    Post subject: Reply with quote

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
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 21918

PostPosted: Sun Mar 06, 2011 5:45 am    Post subject: Reply with quote

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
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9714
Location: almost Mile High in the USA

PostPosted: Sun Mar 06, 2011 7:08 am    Post subject: Reply with quote

ah even better, a specific tool to blame :twisted:
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
View user's profile Send private message
wswartzendruber
Veteran
Veteran


Joined: 23 Mar 2004
Posts: 1261
Location: Idaho, USA

PostPosted: Sun Mar 06, 2011 7:23 am    Post subject: Reply with quote

So why is lafilefixer a hack and not a solution?
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 21918

PostPosted: Sun Mar 06, 2011 6:15 pm    Post subject: Reply with quote

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
View user's profile Send private message
drizer
n00b
n00b


Joined: 30 Jun 2005
Posts: 11

PostPosted: Mon Mar 07, 2011 2:35 pm    Post subject: Reply with quote

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
View user's profile Send private message
VoidMage
Watchman
Watchman


Joined: 14 Oct 2006
Posts: 6196

PostPosted: Mon Mar 07, 2011 2:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
garlicbread
Apprentice
Apprentice


Joined: 06 Mar 2004
Posts: 182

PostPosted: Sat Mar 12, 2011 1:44 am    Post subject: Reply with quote

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
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 21918

PostPosted: Sat Mar 12, 2011 5:12 am    Post subject: Reply with quote

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
View user's profile Send private message
garlicbread
Apprentice
Apprentice


Joined: 06 Mar 2004
Posts: 182

PostPosted: Sat Mar 12, 2011 9:39 am    Post subject: Reply with quote

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
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 21918

PostPosted: Sat Mar 12, 2011 6:00 pm    Post subject: Reply with quote

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
View user's profile Send private message
youngerhot
n00b
n00b


Joined: 13 Mar 2011
Posts: 2

PostPosted: Sun Mar 13, 2011 7:13 am    Post subject: Reply with quote

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
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 21918

PostPosted: Sun Mar 13, 2011 8:50 pm    Post subject: Reply with quote

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
View user's profile Send private message
sophie78
n00b
n00b


Joined: 23 Feb 2005
Posts: 35

PostPosted: Mon Mar 14, 2011 1:09 am    Post subject: Reply with quote

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
View user's profile Send private message
fernnf
n00b
n00b


Joined: 29 Mar 2011
Posts: 1

PostPosted: Tue Mar 29, 2011 11:05 pm    Post subject: Re: libX11.la No such file or directory [solved] Reply with quote

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
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 21918

PostPosted: Wed Mar 30, 2011 3:11 am    Post subject: Re: libX11.la No such file or directory [solved] Reply with quote

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
View user's profile Send private message
freedio
n00b
n00b


Joined: 04 Nov 2010
Posts: 2
Location: Switzerland

PostPosted: Mon Apr 11, 2011 8:49 am    Post subject: Reply with quote

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
Code:
emerge -uND world
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
View user's profile Send private message
b4gumby
n00b
n00b


Joined: 28 Sep 2009
Posts: 41

PostPosted: Sat May 14, 2011 12:37 pm    Post subject: Reply with quote

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
Code:
emerge -uND world
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
View user's profile Send private message
jwezel
n00b
n00b


Joined: 29 Jan 2003
Posts: 58
Location: Birr, Switzerland

PostPosted: Sun May 15, 2011 8:48 am    Post subject: Reply with quote

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
View user's profile Send private message
Se7enLC
Tux's lil' helper
Tux's lil' helper


Joined: 22 Aug 2003
Posts: 88

PostPosted: Sun Oct 30, 2011 2:36 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum