The package gst-plugins-flac (as well as gst-plugins-vorbis, and possible other gst-plugins-* packages) fails to build due to a missing libogg.la. The error is: /bin/sed: can't read /usr/lib64/libogg.la: No such file or directory libtool: link: `/usr/lib64/libogg.la' is not a valid libtool archive make: *** [libgstflac.la] Error 1 I've read bug #275597, and I've run "lafilefixer --justfixit", but I still get the same problem. See comment 55 on that bug for someone else with the same problem (which was dismissed as being inappropriate for that bug, so I'm opening a new one). Output of emerge --info: Portage 2.1.6.13 (default/linux/amd64/10.0/desktop, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.24-gentoo-r4 x86_64) ================================================================= System uname: Linux-2.6.24-gentoo-r4-x86_64-AMD_Athlon-tm-_64_Processor_3200+-with-gentoo-1.12.13 Timestamp of tree: Sun, 27 Dec 2009 01:00:01 +0000 app-shells/bash: 4.0_p35 dev-java/java-config: 1.3.7-r1, 2.1.9-r1 dev-lang/python: 2.3.4-r1, 2.4.4-r9, 2.5.2-r7, 2.6.4 dev-python/pycrypto: 2.1.0_beta1 sys-apps/baselayout: 1.12.13 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.63-r1 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.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/ " LDFLAGS="-Wl,-O1" LINGUAS="en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/opt/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/sunrise /usr/local/portage" SYNC="rsync://wotan.glendale/gentoo-portage" USE="X a52 aac aalib acl acpi alsa amd64 audiofile avi berkdb bluetooth bootstrap branding bzip2 cairo cdparanoia cdr cli consolekit cracklib crypt cups cvs cxx dbus dri dts dvd dvdr dvdread eds emboss encode evo fam ffmpeg firefox flac fortran gdbm gif gimpprint gpm gstreamer gtk hal iconv imagemagick imap ipod jabber java jpeg kde ldap libnotify mad mapeditor mikmod mjpeg mmx mng modules mozcalendar mozsvg mp3 mp4 mpeg mudflap multilib musicbrainz ncurses nls nntp nptl nptlonly nsplugin ogg oggvorbis opengl openmp oss pam pcre pdf perl png ppds pppd python qt3support qt4 quicktime rdesktop readline reflection samba sdl session spell spl sse sse2 ssl startup-notification subversion svg sysfs tcpd theora thunar tiff truetype unicode usb vorbis x264 xcomposite xine xml xmms xorg xulrunner xv xvid zlib" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia vesa fbdev" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
if lafilefixer doesn't do it try revdep-rebuild. Either one should take care of this problem.
revdep-rebuild fails, because some of the packages (e.g. vorbis-tools) that it tries to rebuild fail to compile due to the lack of libogg.la Currently trying to fix things by manually rebuilding dependencies, unless there's a better way of doing it.
Search your /usr/lib for la files still containing libogg.la, then see just why lafilefixer missed it. (that is unless you've got stray la files laying around in /usr/local or such, then it's your own bug)
fenris lib64 # cd /usr/lib64 fenris lib64 # grep -l "libogg.la" * libFLAC++.la libFLAC.la libSDL_sound.la libakode_xiph_decoder.la grep: libdb_tcl.a: No such file or directory grep: libdb_tcl.so: No such file or directory libsndfile.la libvorbisenc.la libvorbisfile.la Re-emerging the packages that these belong to seems to have fixed the problem. I don't know why lafilefixer didn't pick them up - presumably it's method of searching isn't as brute force as the one I used. FWIW, the libogg.la was listed as part of the dependency_libs line in the above files, which lafilefixer seems to check.
If you have copies of those files, while they were still broken, that could be tested. But, on a hunch, what did lafilefixer print, when it was done ?
...and on a semi related note: personally, I would do it this way: find /usr/lib -name '*.la' -exec grep -H libogg.la '{}' \;
Created attachment 214709 [details] Broken file which references libogg .la file which hasn't been fixed (because media-libs/akode has been masked and wouldn't rebuild without some effort, so I skipped it).
When lafilefixer finished, the last line was "Holy Moley, Dorothy, we ain't in Kansas and Luke, I'm not your father", which may mean something but to me is meaningless cuteness.
That's not cutesy, that's a tragic fail. If that message is printed, it means lafilefixer has failed to complete its run, cause it encountered a file that was too broken to fix. IIRC, it should print the name of that file. AFAICT, the attached file is OK, it must be a different one.
In which case can I suggest that the message is changed to something that actually looks like an error message? I know something like "lafilefixer failed to fix things" is boring, but it might actually save time in resolving issues if users are able to diagnose if something has gone wrong or not by themselves.
Well, author himself said, that that message should not happen unless the file encountered is completely broken anyway. Did you try running it again, if it still prints that message ? If so, check the file, it fails at.