Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 179713 - x11-drivers/ati-drivers-8.36.5 doesn't install libGL.la
Summary: x11-drivers/ati-drivers-8.36.5 doesn't install libGL.la
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Marien Zwart (RETIRED)
URL:
Whiteboard:
Keywords:
: 179741 180383 180536 180948 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-05-25 05:06 UTC by Taiyang Chen
Modified: 2007-06-05 18:54 UTC (History)
16 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
libsdl_build.log (libsdlbuild.log,77.27 KB, text/plain)
2007-05-26 05:19 UTC, Taiyang Chen
Details
Build log for "emerge -v1 libcaca libsdl" (libcacabuild.log,194.48 KB, text/plain)
2007-05-28 16:11 UTC, Taiyang Chen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Taiyang Chen 2007-05-25 05:06:30 UTC
grep: /usr/lib/opengl/ati/lib/libGL.la: No such file or directory
/bin/sed: can't read /usr/lib/opengl/ati/lib/libGL.la: No such file or directory
libtool: link: `/usr/lib/opengl/ati/lib/libGL.la' is not a valid libtool archive
make: *** [build/libSDL.la] Error 1

!!! ERROR: media-libs/libsdl-1.2.11-r2 failed.
Call stack:
  ebuild.sh, line 1615:   Called dyn_compile
  ebuild.sh, line 972:   Called qa_call 'src_compile'
  ebuild.sh, line 44:   Called src_compile
  libsdl-1.2.11-r2.ebuild, line 162:   Called die

!!! emake failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/media-libs/libsdl-1.2.11-r2/temp/build.log'.
Comment 1 Taiyang Chen 2007-05-25 05:07:08 UTC
emerge --info:


Portage 2.1.2.7 (default-linux/x86/2006.1/desktop, gcc-4.1.2, glibc-2.5-r2, 2.6.20-gentoo-r8 i686)
=================================================================
System uname: 2.6.20-gentoo-r8 i686 Genuine Intel(R) CPU           T2600  @ 2.16GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Fri, 25 May 2007 04:30:01 +0000
dev-java/java-config: 1.3.7, 2.0.31-r5
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig candy distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X Xorg aac acpi alsa audacious audiofile avi bash-completion bitmap-fonts bzip2 cairo caps cdr chardet cjk cli cracklib crypt ctype cups dbus dlloader dri dv dvd dvdr dvdread emacs emboss encode esd exif expat fam fastbuild fat ffmpeg firefox fortran ftp gd gdbm gif glut gmail gmp gnome gpm gstreamer gtk gtk2 gtkhtml guile hal hdaps iconv idn imap imlib immqt-bc ipod ipv6 isdnlog java jpeg lcms ldap libcaca libg++ libwww live mad matroska memlimit midi mikmod mmx mmxext mng motif mp3 mpeg mplayer msn mudflap ncurses nls nptl nptlonly nsplugin ntfs numarray numeric ogg opengl openmp oss pam pcmcia pcre pdf pdflib perl png pop posix ppds pppd prediction python qq qt3 qt4 quicktime readline real reflection samba sdl session simplexml slang soap sockets spell spl sse sse2 ssl tcpd thinkpad tiff tokenizer truetype truetype-fonts type1-fonts udev unicode usb v4l v4l2 vim-syntax vim-with-x vorbis wifi win32codecs x86 xml xml2 xorg xosd xsl xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="mouse keyboard synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fglrx vesa fbdev"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Vasilis Lourdas 2007-05-25 06:52:48 UTC
Same here when emerging kde-base/korundum-3.5.6.

emerge --info
Portage 2.1.2.7 (default-linux/x86/2006.1/desktop, gcc-4.1.2, glibc-2.5-r2, 2.6.20-gentoo-r8 i686)
=================================================================
System uname: 2.6.20-gentoo-r8 i686 Genuine Intel(R) CPU           T2300  @ 1.66GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Fri, 25 May 2007 06:00:01 +0000
ccache version 2.4 [enabled]
dev-java/java-config: 1.3.7, 2.0.32
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r7
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php4/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php4/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict userfetch"
GENTOO_MIRRORS="ftp://ftp.uoi.gr/mirror/OS/gentoo/ ftp://ftp.physics.auth.gr/pub/mirrors/gentoo/ ftp://gentoo.mirrors.pair.com/ ftp://gentoo.mirrors.tds.net/gentoo ftp://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ ftp://mirror.bih.net.ba/gentoo/ ftp://trumpetti.atm.tut.fi/gentoo/ "
LINGUAS="en"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/portage/local/layman/xeffects"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa apache2 artswrappersuid asf bash-completion berkdb bitmap-fonts bluetooth branding bzip2 bzlib cairo caps cdr charconv chm cli cracklib crypt css ctype cups curl dba dbus device-mapper dmi dri dts dvd dvdr dvdread effects emboss encode esd examples exif expat fam fat fbcon ffmpeg firefox flac flatfile foomaticdb fortran ftp gcj gd gdbm gif gimp gimpprint glx gmp gnomedb gnutls gocr gphoto2 gpm gstreamer gtk hal hddtemp howl iconv imagemagick imap imlib innodb isdnlog jabber java javascript jpeg jpeg2k kde kdeenablefinal kdehiddenvisibility lcms ldap libg++ libsamplerate libwww lm_sensors mad maildir mailwrapper mhash midi mikmod mime mmx mmxext motif mozbranding mozdevelop mozilla mozsvg mp3 mpeg mplayer mpm-worker mudflap multiuser mysql mysqli ncurses nls no-old-linux nodrm nomalloccheck nptl nptlonly nsplugin ntfs objc odbc offensive ogg opengl openmp pam pcmcia pcntl pcre pdf pear perl php pic plugin pmu png posix ppds pppd python qt3 qt4 quicktime rar rdesktop readline recode reflection reiserfs ruby sasl scanner sdl server session sharedext simplexml slang sndfile soap sockets speex spell spl spreadsheet sqlite sse sse2 ssl subtitles subversion svga symlink syslog tcltk tcpd tetex threads tidy tiff tokenizer truetype truetype-fonts type1-fonts unicode usb userlocales utf8 vda visualization vorbis win32codecs wmf wv wxgtk1 x86 xfs xine xml xmlreader xmlrpc xmlwriter xorg xpm xprint xscreensaver xsl xv xvid xvmc zip zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="fglrx"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 3 Davide Pesavento gentoo-dev 2007-05-25 11:51:31 UTC
Maybe this is the cause of the multiple dynamic linking breakages that revdep-rebuild found on my system (~amd64) after upgrading to ati-drivers-8.36.5:

[...]
Checking dynamic linking consistency...
  broken /opt/bin/amdcccle (no version information available)
  broken /usr/lib32/dri/fglrx_dri.so (no version information available)
  broken /usr/kde/3.5/lib64/kde3/kcm_info.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/kde/3.5/lib64/kde3/kcm_kdnssd.la (requires /usr/kde/3.5/lib64/libkdnssd.la)
  broken /usr/kde/3.5/lib64/kde3/kcm_screensaver.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/kde/3.5/lib/kde3/kcm_info.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/kde/3.5/lib/kde3/kcm_kdnssd.la (requires /usr/kde/3.5/lib64/libkdnssd.la)
  broken /usr/kde/3.5/lib/kde3/kcm_screensaver.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/lib64/libglitz-glx.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/lib64/libglut.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/lib64/libgtkgl-2.0.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/lib64/libvisual-0.4/actor/actor_flower.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/lib64/libvisual-0.4/actor/actor_lv_gltest.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/lib64/libvisual-0.4/actor/actor_madspin.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/lib64/libvisual-0.4/actor/actor_nastyfft.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/lib/libglitz-glx.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/lib/libglut.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/lib/libgtkgl-2.0.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/lib/libvisual-0.4/actor/actor_flower.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/lib/libvisual-0.4/actor/actor_lv_gltest.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/lib/libvisual-0.4/actor/actor_madspin.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
  broken /usr/lib/libvisual-0.4/actor/actor_nastyfft.la (requires /usr/lib64/opengl/ati/lib/libGL.la)
 done.
  (/root/.revdep-rebuild.3_rebuild)
[...]
All prepared. Starting rebuild...
emerge --oneshot -p =media-libs/freeglut-2.4.0-r1 =media-libs/glitz-0.5.6 =media-plugins/libvisual-plugins-0.4.0-r1 =kde-base/kcontrol-3.5.6-r1 =x11-drivers/ati-drivers-8.36.5 =x11-libs/gtkglarea-1.99.0

Re-emerging affected packages didn't solve the problems.
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2007-05-25 12:43:37 UTC
*** Bug 179741 has been marked as a duplicate of this bug. ***
Comment 5 Davide Pesavento gentoo-dev 2007-05-25 15:07:06 UTC
$ diff -u ati-drivers-8.35.5.ebuild ati-drivers-8.36.5.ebuild
[...]
-       # Is this necessary? Is this sane? --marienz
-       sed -e "s:libdir=.*:libdir=${ATI_ROOT}/lib:" \
-               /usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la \
-               > "${D}"/${ATI_ROOT}/lib/libGL.la
[...]

Maybe these lines were really necessary... ;)
Comment 6 Marien Zwart (RETIRED) gentoo-dev 2007-05-25 17:19:56 UTC
Couple of things:

- revdep-rebuild is misleading here. The files that are "broken" are .la files, which are not directly related to dynamic linking. They are read by libtool when you compile something, not when you run something, afaik. revdep-rebuild used to only check for dynamic linking problems, but that is no longer the case. If the affected packages actually no longer *run* I would like to hear about it.
- I have one of the packages from your list (libvisual-0.4) installed and cannot reproduce this. The relevant .la files refer to /usr/lib/libGL.la here (I'm on x86), not /usr/lib/opengl/ati/libGL.la.
- The libGL.la  the ebuild used to install was crummy at best (generated from mesa's by replacing the xorg-x11 with ati in all paths and praying the result makes sense)

Things I would like to know if you think this causes problems:

- Do they go away if you let revdep-rebuild run (rebuild the things it thinks are broken)?
- Do you have a /usr/lib/libGL.la (and/or /usr/lib64/libGL.la if you are on amd64), what is it (a regular file or a symlink) and what is in it?
Comment 7 James Wells 2007-05-25 18:31:59 UTC
Greetings,

   I can confirm this issue on x86 as well.

   I have performed a revdep-rebuild, which succeeded, however, the very next run of revdep-rebuild shows the same applications needing to be rebuilt.   Running a find, I found the new libGL.la in /usr/lib.  From what I can tell, it is the correct one, just in the wrong location and it is the actual file, not a symlink.

   I have moved the file to the correct location and symlinked it to /usr/lib which cleared the revdep-rebuild.

   BTW, After re-compiling on the first revdep-rebuild run, I did test the applications and they all ran correctly, even though they were missing the la file during compilation.
Comment 8 Taiyang Chen 2007-05-25 18:48:52 UTC
1. Revdep-rebuild is what brought out the problem. In my case, libsdl needs libGL.la to compile.
2. No, I do not have /usr/lib/libGL.la on my box.

(In reply to comment #6)
> Couple of things:
> 
> - revdep-rebuild is misleading here. The files that are "broken" are .la files,
> which are not directly related to dynamic linking. They are read by libtool
> when you compile something, not when you run something, afaik. revdep-rebuild
> used to only check for dynamic linking problems, but that is no longer the
> case. If the affected packages actually no longer *run* I would like to hear
> about it.
> - I have one of the packages from your list (libvisual-0.4) installed and
> cannot reproduce this. The relevant .la files refer to /usr/lib/libGL.la here
> (I'm on x86), not /usr/lib/opengl/ati/libGL.la.
> - The libGL.la  the ebuild used to install was crummy at best (generated from
> mesa's by replacing the xorg-x11 with ati in all paths and praying the result
> makes sense)
> 
> Things I would like to know if you think this causes problems:
> 
> - Do they go away if you let revdep-rebuild run (rebuild the things it thinks
> are broken)?
> - Do you have a /usr/lib/libGL.la (and/or /usr/lib64/libGL.la if you are on
> amd64), what is it (a regular file or a symlink) and what is in it?
> 

Comment 9 Marien Zwart (RETIRED) gentoo-dev 2007-05-25 22:50:13 UTC
*please*, **please** stop manually adding symlinks. Anyone who manually added symlinks, **please** remove them, rerun revdep-rebuild if necessary, and tell me what is still broken.

It is next to impossible to debug this kind of problem if people add manual symlinks. Additionally such symlinks may cause strange problems later on that are even harder to debug. Don't hack around it like this, if there really should be a symlink that should be handled by eselect or the ebuild.

Further, if revdep-rebuild says something like this:

  broken /usr/lib64/libvisual-0.4/actor/actor_flower.la (requires 
    /usr/lib64/opengl/ati/lib/libGL.la)

then that does *not* mean that the ebuild that installed actor_flower.la depends on /usr/lib64/opengl/ati/lib/libGL.la being present. What it *means* is that at the time a package (probably but not 100% necessarily the one "owning" actor_flower.la) was built its build system found libGL.la, and hardcoded a reference to it into the .la file it installed. The package will still *run* fine, because the .la file is not read at runtime (as far as I know). 

Installing something that depends on actor_flower.la (*not* ati-drivers or libGL.la or something like that directly) will now fail with a message like:

 grep: /usr/lib/opengl/ati/lib/libGL.la: No such file or directory

with a libtool line above it. However, this also does *not* necessarily mean that package depends on libGL.la being present. Often it is trying to read libGL.la because it is mentioned in a .la file from a package it depends on. Rebuilding *that* package will usually produce a new .la file that no longer mentions the libGL.la file that is no longer there, after which rebuilding the problematic package will work.

This is what revdep-rebuild does. So revdep-rebuild complaining about /usr/lib/opengl/ati/lib/libGL.la not being there is expected here, and you should let it actually rebuild (without adding any manual symlinks!), and tell me about anything that still fails, including the last few dozen lines of build logs (libtool should be involved here, and I really want to see the failing libtool command line, not just grep or sed complaining about a nonexistant file, since then I don't know what pulled that reference in).

There may be an actual bug here that needs to be fixed by either reinstalling the libGL.la file or having eselect opengl generate one, but I want to be sure that is necessary before effectively "making up" a libGL.la in the ebuild again.
Comment 10 Taiyang Chen 2007-05-26 05:18:12 UTC
Ok this is from revdep-rebuild (with the libtool part):

/bin/sh ./libtool --mode=link i686-pc-linux-gnu-gcc -o build/libSDL.la build/SDL.lo build/SDL_error.lo build/SDL_fatal.lo build/SDL_audio.lo build/SDL_audiocvt.lo build/SDL_audiodev.lo build/SDL_mixer.lo build/SDL_mixer_MMX.lo build/SDL_mixer_MMX_VC.lo build/SDL_mixer_m68k.lo build/SDL_wave.lo build/SDL_cdrom.lo build/SDL_cpuinfo.lo build/SDL_active.lo build/SDL_events.lo build/SDL_expose.lo build/SDL_keyboard.lo build/SDL_mouse.lo build/SDL_quit.lo build/SDL_resize.lo build/SDL_rwops.lo build/SDL_joystick.lo build/SDL_getenv.lo build/SDL_iconv.lo build/SDL_malloc.lo build/SDL_qsort.lo build/SDL_stdlib.lo build/SDL_string.lo build/SDL_thread.lo build/SDL_timer.lo build/SDL_RLEaccel.lo build/SDL_blit.lo build/SDL_blit_0.lo build/SDL_blit_1.lo build/SDL_blit_A.lo build/SDL_blit_N.lo build/SDL_bmp.lo build/SDL_cursor.lo build/SDL_gamma.lo build/SDL_pixels.lo build/SDL_stretch.lo build/SDL_surface.lo build/SDL_video.lo build/SDL_yuv.lo build/SDL_yuv_mmx.lo build/SDL_yuv_sw.lo build/SDL_nullevents.lo build/SDL_nullmouse.lo build/SDL_nullvideo.lo build/SDL_diskaudio.lo build/SDL_dummyaudio.lo build/SDL_sysloadso.lo build/mmx_main.lo build/mmxp2_32.lo build/x86_main.lo build/x86p_16.lo build/x86p_32.lo build/SDL_dspaudio.lo build/SDL_dmaaudio.lo build/SDL_alsa_audio.lo build/SDL_esdaudio.lo build/SDL_x11dga.lo build/SDL_x11dyn.lo build/SDL_x11events.lo build/SDL_x11gamma.lo build/SDL_x11gl.lo build/SDL_x11image.lo build/SDL_x11modes.lo build/SDL_x11mouse.lo build/SDL_x11video.lo build/SDL_x11wm.lo build/SDL_x11yuv.lo build/XF86VMode.lo build/Xv.lo build/SDL_cacaevents.lo build/SDL_cacavideo.lo build/SDL_systhread.lo build/SDL_syssem.lo build/SDL_sysmutex.lo build/SDL_syscond.lo build/SDL_sysjoystick.lo build/SDL_syscdrom.lo build/SDL_systimer.lo  -lm -ldl -L/usr/lib -lcaca -lcucul -lpthread -no-undefined -rpath /usr/lib -release 1.2 -version-info 11:0:11
grep: /usr/lib/opengl/ati/lib/libGL.la: No such file or directory
/bin/sed: can't read /usr/lib/opengl/ati/lib/libGL.la: No such file or directory
libtool: link: `/usr/lib/opengl/ati/lib/libGL.la' is not a valid libtool archive
make: *** [build/libSDL.la] Error 1

!!! ERROR: media-libs/libsdl-1.2.11-r2 failed.
Call stack:
  ebuild.sh, line 1615:   Called dyn_compile
  ebuild.sh, line 972:   Called qa_call 'src_compile'
  ebuild.sh, line 44:   Called src_compile
  libsdl-1.2.11-r2.ebuild, line 162:   Called die

!!! emake failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/media-libs/libsdl-1.2.11-r2/temp/build.log'.
Comment 11 Taiyang Chen 2007-05-26 05:19:13 UTC
Created attachment 120344 [details]
libsdl_build.log

This is the complete build log of the failing libsdl from revdep-rebuild
Comment 12 Marien Zwart (RETIRED) gentoo-dev 2007-05-26 09:34:35 UTC
(In reply to comment #10)
> Ok this is from revdep-rebuild (with the libtool part):

Great, that's much more useful information-wise.
> 
> /bin/sh ./libtool --mode=link i686-pc-linux-gnu-gcc -o build/libSDL.la
<snip>
> -lm -ldl -L/usr/lib -lcaca -lcucul -lpthread
> -no-undefined -rpath /usr/lib -release 1.2 -version-info 11:0:11
> grep: /usr/lib/opengl/ati/lib/libGL.la: No such file or directory
> /bin/sed: can't read /usr/lib/opengl/ati/lib/libGL.la: No such file or
> directory
> libtool: link: `/usr/lib/opengl/ati/lib/libGL.la' is not a valid libtool
> archive
> make: *** [build/libSDL.la] Error 1

I do not get that when rebuilding libSDL now. However I did get it when trying to rebuild libSDL before rebuilding libcaca, which links to libGL for some reason. So I'm guessing revdep-rebuild is getting the order wrong here. Can you provide "revdep-rebuild -i -p" too? Can you grep for libGL in /usr/lib/libcaca.la and /usr/lib/libcucul.la (although they should show up in revdep-rebuild if that grep matches)?
Comment 13 craven 2007-05-26 13:15:23 UTC
(In reply to comment #12)

I can not even rebuild libcaca even though revdep-rebuild did not list it at all [I just tried because of your comment]

/bin/sh ../libtool   --mode=link i686-pc-linux-gnu-g++   -no-undefined -version-info 99:0:99  -o libcaca.la -rpath /usr/lib caca.lo caca0.lo graphics.lo event.lo time.lo driver_conio.lo driver_ncurses.lo driver_raw.lo driver_slang.lo driver_vga.lo driver_win32.lo  driver_x11.lo driver_gl.lo ../cucul/libcucul.la  -lncursesw  -lX11 -L/usr/lib  -lGL -lglut 
grep: /usr/lib/opengl/ati/lib/libGL.la: No such file or directory
/bin/sed: can't read /usr/lib/opengl/ati/lib/libGL.la: No such file or directory
libtool: link: `/usr/lib/opengl/ati/lib/libGL.la' is not a valid libtool archive
make[2]: *** [libcaca.la] Fehler 1
make[2]: Leaving directory `/var/tmp/portage/media-libs/libcaca-0.99_beta11/work/libcaca-0.99.beta11/caca'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/var/tmp/portage/media-libs/libcaca-0.99_beta11/work/libcaca-0.99.beta11'
make: *** [all] Fehler 2

!!! ERROR: media-libs/libcaca-0.99_beta11 failed.
Call stack:
  ebuild.sh, line 1615:   Called dyn_compile
  ebuild.sh, line 972:   Called qa_call 'src_compile'
  ebuild.sh, line 44:   Called src_compile
  libcaca-0.99_beta11.ebuild, line 51:   Called die

!!! emake failed

similar errors I get for amarok and transcode

libsdl reemerges just fine but keeps the reference to /usr/lib/opengl/ati/lib/libGL.la so revdep-rebuild wants to reemerge it again and again

my /usr/lib/libGL.la exists and is a regular file

output of revdep-rebuild -i -p:
Configuring search environment for revdep-rebuild

Checking reverse dependencies...

Packages containing binaries and libraries broken by a package update
will be emerged.

Collecting system binaries and libraries... done.
  (/root/.revdep-rebuild.1_files)

Collecting complete LD_LIBRARY_PATH... done.
  (/root/.revdep-rebuild.2_ldpath)

Checking dynamic linking consistency...
  broken /usr/kde/3.5/lib/kde3/kcm_info.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/kde/3.5/lib/kde3/kcm_screensaver.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/kde3/libamarok_generic-mediadevice.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/kde3/libamarok_helixengine_plugin.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/kde3/libamarok_massstorage-device.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/kde3/libamarok_nfs-device.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/kde3/libamarok_smb-device.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/kde3/libamarok_void-engine_plugin.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/kde3/libamarok_xine-engine.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/libamarok.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/libglut.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/libSDL.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/libvisual-0.4/actor/actor_flower.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/libvisual-0.4/actor/actor_lv_gltest.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/libvisual-0.4/actor/actor_madspin.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/libvisual-0.4/actor/actor_nastyfft.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/transcode/filter_pv.la (requires /usr/lib/opengl/ati/lib/libGL.la)
 done.
  (/root/.revdep-rebuild.3_rebuild)

Assigning files to ebuilds... done.
  (/root/.revdep-rebuild.4_ebuilds)

Evaluating package order... done.
  (/root/.revdep-rebuild.5_order)

All prepared. Starting rebuild...
emerge --oneshot -p =media-libs/freeglut-2.4.0-r1 =media-plugins/libvisual-plugins-0.4.0-r1 =kde-base/kdebase-3.5.5-r4 =media-libs/libsdl-1.2.11-r2 =media-sound/amarok-1.4.5-r1 =media-video/transcode-1.0.3 

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] media-libs/freeglut-2.4.0-r1  
[ebuild   R   ] media-plugins/libvisual-plugins-0.4.0-r1  
[ebuild   R   ] kde-base/kdebase-3.5.5-r4  
[ebuild   R   ] media-libs/libsdl-1.2.11-r2  
[ebuild   R   ] media-sound/amarok-1.4.5-r1  
[ebuild   R   ] media-video/transcode-1.0.3  
Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.


all packages but amarok and transcode reemerge fine but keep the reference to /usr/lib/opengl/ati/lib/libGL.la [as mentioned above]
Comment 14 Davide Pesavento gentoo-dev 2007-05-26 16:38:07 UTC
(In reply to comment #6)

> Things I would like to know if you think this causes problems:
> 
> - Do they go away if you let revdep-rebuild run (rebuild the things it thinks
> are broken)?
> - Do you have a /usr/lib/libGL.la (and/or /usr/lib64/libGL.la if you are on
> amd64), what is it (a regular file or a symlink) and what is in it?
> 

1) No. Broken packages rebuild fine, but running revdep-rebuild again shows exactly the same broken packages as before.

2) On ~amd64: /usr/lib64/libGL.la exists and it is a regular file.

$ ls -l /usr/lib64/libGL.la
-rw-r--r-- 1 root root 760 25 mag 13:02 /usr/lib64/libGL.la

$ cat /usr/lib64/libGL.la
# libGL.la - a libtool library file
# Generated by ltmain.sh - GNU libtool 1.4 (1.920 2001/04/24 23:26:18)
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='libGL.so.1'

# Names of this library.
library_names='libGL.so.1.2 libGL.so.1 libGL.so'

# The name of the static archive.
old_library=''

# Libraries that this one depends upon.
dependency_libs=' -L/usr/lib64 -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -ldl -lpthread        '

# Version information for libGL.
current=3
age=2
revision=0

# Is this an already installed library?
installed=yes

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir=/usr/lib64/opengl/ati/lib
Comment 15 Taiyang Chen 2007-05-28 00:22:19 UTC
(In reply to comment #12)
> (In reply to comment #10)
> > Ok this is from revdep-rebuild (with the libtool part):
> 
> Great, that's much more useful information-wise.
> > 
> > /bin/sh ./libtool --mode=link i686-pc-linux-gnu-gcc -o build/libSDL.la
> <snip>
> > -lm -ldl -L/usr/lib -lcaca -lcucul -lpthread
> > -no-undefined -rpath /usr/lib -release 1.2 -version-info 11:0:11
> > grep: /usr/lib/opengl/ati/lib/libGL.la: No such file or directory
> > /bin/sed: can't read /usr/lib/opengl/ati/lib/libGL.la: No such file or
> > directory
> > libtool: link: `/usr/lib/opengl/ati/lib/libGL.la' is not a valid libtool
> > archive
> > make: *** [build/libSDL.la] Error 1
> 
> I do not get that when rebuilding libSDL now. However I did get it when trying
> to rebuild libSDL before rebuilding libcaca, which links to libGL for some
> reason. So I'm guessing revdep-rebuild is getting the order wrong here. Can you
> provide "revdep-rebuild -i -p" too? Can you grep for libGL in
> /usr/lib/libcaca.la and /usr/lib/libcucul.la (although they should show up in
> revdep-rebuild if that grep matches)?
> 


tai ~ # revdep-rebuild -i -p
Configuring search environment for revdep-rebuild

Checking reverse dependencies...

Packages containing binaries and libraries broken by a package update
will be emerged.

Collecting system binaries and libraries... done.
  (/root/.revdep-rebuild.1_files)

Collecting complete LD_LIBRARY_PATH... done.
  (/root/.revdep-rebuild.2_ldpath)

Checking dynamic linking consistency...
  broken /usr/lib/libSDL.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/libcaca++.la (requires /usr/lib/opengl/ati/lib/libGL.la)
  broken /usr/lib/libcaca.la (requires /usr/lib/opengl/ati/lib/libGL.la)
 done.
  (/root/.revdep-rebuild.3_rebuild)

Assigning files to ebuilds... done.
  (/root/.revdep-rebuild.4_ebuilds)

Evaluating package order... done.
  (/root/.revdep-rebuild.5_order)

All prepared. Starting rebuild...
emerge --oneshot -p =media-libs/libcaca-0.99_beta11 =media-libs/libsdl-1.2.11-r2 

These are the packages that would be merged, in order:

Calculating dependencies                ... done!               
[ebuild   R   ] media-libs/libcaca-0.99_beta11  
[ebuild   R   ] media-libs/libsdl-1.2.11-r2  
Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.

-----------------------------------------------------------------------------

tai ~ # cat /usr/lib/libcaca.la | grep libGL
dependency_libs=' /usr/lib/libcucul.la -lslang -lncursesw -L/usr/lib /usr/lib/libglut.la /usr/lib/opengl/ati/lib/libGL.la /usr/lib/libGLU.la -lGL -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -lpthread /usr/lib/libXxf86vm.la /usr/lib/libX11.la /usr/lib/libXext.la /usr/lib/libXau.la /usr/lib/libXdmcp.la -ldl'

-----------------------------------------------------------------------------

tai ~ # cat /usr/lib/libcucul.la | grep libGL
tai ~ # 

-----------------------------------------------------------------------------

So apparently they do not match.
Comment 16 Marien Zwart (RETIRED) gentoo-dev 2007-05-28 10:39:29 UTC
Confusing. Build log for "emerge -v1 libcaca libsdl"? I do not understand how you can still have that reference to the nonexistant libGL.la in libcaca's .la files after remerging libcaca, unless there is a circular dependency here or something (which still does not explain why I am not seeing this, I have both libsdl and libcaca installed, and USE=libcaca on libsdl).
Comment 17 Mike Auty (RETIRED) gentoo-dev 2007-05-28 15:18:08 UTC
A couple more for you Marien,

Let me know if you need my emerge --info or any other information.  These two fail during the nine rebuilds done by revdep-rebuild, no matter how many times you run it...


/bin/sh ../libtool --tag=CXX   --mode=link i686-pc-linux-gnu-g++ -DLINUX -D__CPLUSPLUS -pthread -I/usr/include/FTGL -I/usr/include/freetype2   -mtune=prescott -march=prescott -O2 -fomit-frame-pointer -pipe -version-info 0:0:0 -Wl,--as-needed -o libprojectM.la -rpath /usr/lib PCM.lo beat_detect.lo browser.lo builtin_funcs.lo console_interface.lo custom_shape.lo custom_wave.lo editor.lo eval.lo fftsg.lo func.lo glConsole.lo init_cond.lo menu.lo param.lo parser.lo pbuffer.lo per_frame_eqn.lo per_pixel_eqn.lo preset.lo projectM.lo splaytree.lo timer.lo tree_types.lo wipemalloc.lo -lGL  -lm -lGLU -lGL -lfreetype -lz -lftgl   -lm 
grep: /usr/lib/opengl/ati/lib/libGL.la: No such file or directory
/bin/sed: can't read /usr/lib/opengl/ati/lib/libGL.la: No such file or directory
libtool: link: `/usr/lib/opengl/ati/lib/libGL.la' is not a valid libtool archive
make[2]: *** [libprojectM.la] Error 1
make[2]: Leaving directory `/var/tmp/portage/media-libs/libprojectm-0.99-r1/work/libprojectM/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/media-libs/libprojectm-0.99-r1/work/libprojectM'
make: *** [all] Error 2


/bin/sh ../../libtool --mode=link i686-pc-linux-gnu-gcc  -mtune=prescott -march=prescott -O2 -fomit-frame-pointer -pipe -Wall  -Wl,--as-needed -o _gdkgl.la -rpath /usr/lib/python2.5/site-packages/gtk-2.0/gtk/gdkgl -module -avoid-version -export-symbols-regex init_gdkgl _gdkgl_la-gdkglmodule.lo _gdkgl_la-gdkglext.lo -lgtkglext-x11-1.0 -lgdkglext-x11-1.0 -lGLU -lGL -lXmu -lXt -lSM -lICE -lgtk-x11-2.0 -lpangox-1.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 
grep: /usr/lib/opengl/ati/lib/libGL.la: No such file or directory
/bin/sed: can't read /usr/lib/opengl/ati/lib/libGL.la: No such file or directory
libtool: link: `/usr/lib/opengl/ati/lib/libGL.la' is not a valid libtool archive
make[4]: *** [_gdkgl.la] Error 1
make[4]: Leaving directory `/var/tmp/portage/dev-python/pygtkglext-1.1.0/work/pygtkglext-1.1.0/gtk/gdkgl'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/var/tmp/portage/dev-python/pygtkglext-1.1.0/work/pygtkglext-1.1.0/gtk/gdkgl'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/dev-python/pygtkglext-1.1.0/work/pygtkglext-1.1.0/gtk'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/dev-python/pygtkglext-1.1.0/work/pygtkglext-1.1.0'
make: *** [all] Error 2
Comment 18 Taiyang Chen 2007-05-28 16:11:28 UTC
Created attachment 120527 [details]
Build log for "emerge -v1 libcaca libsdl"
Comment 19 Marien Zwart (RETIRED) gentoo-dev 2007-05-28 19:55:17 UTC
(In reply to comment #18)
> Created an attachment (id=120527) [edit]
> Build log for "emerge -v1 libcaca libsdl"

From your log:

/bin/sh ../libtool   <snip>
libtool: link: warning: `/usr/lib/libGL.la' seems to be moved

Aha! You have a /usr/lib/libGL.la? I do not, that may explain why I cannot 
reproduce this.

i686-pc-linux-gnu-g++ <snip> /usr/lib/opengl/ati/lib/libGL.so 

And it starts hardcoding /usr/lib/opengl/ati paths. Is there a reference to /usr/lib/opengl/ati in /usr/lib/libGL.la? I suspect it has "libdir" set there? Or is this a symlink? If it is a symlink, what is its target? What happens if you move the file or symlink out of the way and remerge libcaca and libSDL? I do not get a reference to libGL.la in my libcaca build, and it links to -lGL, not to /usr/lib/opengl/ati/lib/libGL.so. So I'm pretty sure libcaca is picking up something it should not here.
Comment 20 Taiyang Chen 2007-05-29 06:21:01 UTC
(In reply to comment #19)
> (In reply to comment #18)
> > Created an attachment (id=120527) [edit]
> > Build log for "emerge -v1 libcaca libsdl"
> 
> From your log:
> 
> /bin/sh ../libtool   <snip>
> libtool: link: warning: `/usr/lib/libGL.la' seems to be moved
> 
> Aha! You have a /usr/lib/libGL.la? I do not, that may explain why I cannot 
> reproduce this.
> 
> i686-pc-linux-gnu-g++ <snip> /usr/lib/opengl/ati/lib/libGL.so 
> 
> And it starts hardcoding /usr/lib/opengl/ati paths. Is there a reference to
> /usr/lib/opengl/ati in /usr/lib/libGL.la? I suspect it has "libdir" set there?
> Or is this a symlink? If it is a symlink, what is its target? What happens if
> you move the file or symlink out of the way and remerge libcaca and libSDL? I
> do not get a reference to libGL.la in my libcaca build, and it links to -lGL,
> not to /usr/lib/opengl/ati/lib/libGL.so. So I'm pretty sure libcaca is picking
> up something it should not here.
> 

Yes, in libGL.la, I found this:

# Directory that this library needs to be installed in:
libdir=/usr/lib/opengl/ati/lib
Comment 21 Eduard Martinescu 2007-05-30 15:58:20 UTC
I was running into a similar problem, especially with libprojectm not compiling. I had a /usr/lib/libGL.la file, with the reference inside to /usr/lib/opengl/ati/lib.  Moving that file to /usr/lib/opengl/ati/lib solved all my revdep-rebuild issues
Comment 22 Taiyang Chen 2007-05-31 03:56:56 UTC
(In reply to comment #21)
> I was running into a similar problem, especially with libprojectm not
> compiling. I had a /usr/lib/libGL.la file, with the reference inside to
> /usr/lib/opengl/ati/lib.  Moving that file to /usr/lib/opengl/ati/lib solved
> all my revdep-rebuild issues
> 

Yup this helped.
Comment 23 Jakub Moc (RETIRED) gentoo-dev 2007-05-31 10:50:59 UTC
*** Bug 180383 has been marked as a duplicate of this bug. ***
Comment 24 Ralph Hartley 2007-05-31 21:02:53 UTC
Just deleting the offending file /usr/lib64/libGL.la seems to fix the problem.

I don't know who put it there, but remerging ati-drivers does not recreate it.

I'm pretty sure it had a recent date - today or yesterday - but I have destroyed the evidence.

Of course, no package claimed to own it. Portage needs to keep better track of which package(s) created files, but that's another problem.
Comment 25 Jakub Moc (RETIRED) gentoo-dev 2007-06-01 12:31:00 UTC
*** Bug 180536 has been marked as a duplicate of this bug. ***
Comment 26 craven 2007-06-04 22:21:42 UTC
killing /usr/lib/libGL.la followed by one revdep-rebuild solved all my problems too.
Comment 27 Jakub Moc (RETIRED) gentoo-dev 2007-06-05 11:38:42 UTC
*** Bug 180948 has been marked as a duplicate of this bug. ***
Comment 28 Marien Zwart (RETIRED) gentoo-dev 2007-06-05 18:54:28 UTC
I still think it's a bit silly to "make up" a .la file like this, but 8.37.6-r1 now creates one again (hopefully a slightly saner one than the old one). This should make the switch from mesa to ati libGL a bit friendlier (and keep the people who threatened me with violence after I removed the previous hack at a safe distance). Marking this fixed, people who run into problems with this should either (re)run revdep-rebuild or upgrade to 8.37.6-r1 and *rerun eselect opengl set ati*, then file a new bug if things still break.

(people who already went through the revdep-rebuild after getting rid of libGL.la should not see anything bad happen now that the file is there again, no need for more rebuilding).