The vlc 0.8.4a and 0.8.5 ebulds have a missing depenency on lzo v1. Only two packages on my system list dependencies on LZO, and both of them depend on lzo v2. [jon@garp ~]$ equery list lzo [ Searching for package 'lzo' in all categories among: ] * installed packages [I--] [ ] dev-libs/lzo-1.08-r1 (0) [I--] [ ] dev-libs/lzo-2.02-r1 (2) [jon@garp ~]$ equery depends lzo [ Searching for packages depending on lzo... ] net-libs/gnutls-1.4.4-r1 media-video/transcode-1.0.2-r2 Now if I remove lzo v1, the vlc ebuild fails: garp ~ # emerge --unmerge lzo-1.08-r1 garp ~ # ebuild /usr/portage/media-video/vlc/vlc-0.8.5-r5.ebuild compile ..... [SNIP] ..... x86_64-pc-linux-gnu-gcc -Wsign-compare -Wall -O2 -pipe -pipe -o libffmpeg_plugin.so -shared -fpic -fPIC -u vlc_entry__0_8_5 libffmpeg_plugin.a -L/usr/lib64 -lpthread -lpostproc -lavformat -lavcodec /usr/lib64/libmp3lame.so /usr/lib64/libfaad.so /usr/lib64/libfaac.so -L/usr/x86_64-pc-linux-gnu/bin -L/usr/x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -lgcc_s -lc /usr/lib64/libmp4v2.so /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/libstdc++.so -lz -llzo -ldl -lavutil -lm /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -llzo collect2: ld returned 1 exit status make[6]: *** [libffmpeg_plugin.so] Error 1 make[6]: Leaving directory `/var/tmp/portage/vlc-0.8.5-r5/work/vlc-0.8.5/modules/codec/ffmpeg' make[5]: *** [all-modules] Error 1 make[5]: Leaving directory `/var/tmp/portage/vlc-0.8.5-r5/work/vlc-0.8.5/modules/codec/ffmpeg' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/vlc-0.8.5-r5/work/vlc-0.8.5/modules/codec' make[3]: *** [all] Error 2 make[3]: Leaving directory `/var/tmp/portage/vlc-0.8.5-r5/work/vlc-0.8.5/modules/codec' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/vlc-0.8.5-r5/work/vlc-0.8.5/modules' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/vlc-0.8.5-r5/work/vlc-0.8.5' make: *** [all] Error 2 !!! ERROR: media-video/vlc-0.8.5-r5 failed. Call stack: ebuild.sh, line 1546: Called dyn_compile ebuild.sh, line 937: Called src_compile vlc-0.8.5-r5.ebuild, line 234: Called die !!! make of VLC failed !!! If you need support, post the topmost build error, and the call stack if relevant.
I've encountered the same bug. I think the solution is to make this package depend on =dev-libs/lzo-1.08-r1 when it's merged with "ffmpeg" in USE. --- emerge =media-video/vlc-0.8.4a-r1 --- ... i686-pc-linux-gnu-gcc -Wsign-compare -Wall -O2 -march=pentium-m -pipe -fomit-frame-pointer -pipe -o libffmpeg_plugin.so libffmpeg_plugin.a -L/usr/lib -shared -lpthread -fpic -fPIC -lavformat -lavcodec -lmp3lame -lxvidcore -ldts -lx264 -lfaad -lfaac -lz -llzo -ldl -lpthread -lvorbisenc -ltheora -lavutil -lvorbis -lm -logg -lpostproc -lz -ldts -lmp3lame-lm -u vlc_entry__0_8_4 /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../../i686-pc-linux-gnu/bin/ld: cannot find -llzocollect2: ld returned 1 exit status make[6]: *** [libffmpeg_plugin.so] Error 1 make[6]: Leaving directory `/var/tmp/portage/vlc-0.8.4a-r1/work/vlc-0.8.4a/modules/codec/ffmpeg'make[5]: *** [all-modules] Error 1 make[5]: Leaving directory `/var/tmp/portage/vlc-0.8.4a-r1/work/vlc-0.8.4a/modules/codec/ffmpeg'make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/vlc-0.8.4a-r1/work/vlc-0.8.4a/modules/codec'make[3]: *** [all] Error 2 make[3]: Leaving directory `/var/tmp/portage/vlc-0.8.4a-r1/work/vlc-0.8.4a/modules/codec'make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/vlc-0.8.4a-r1/work/vlc-0.8.4a/modules'make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/vlc-0.8.4a-r1/work/vlc-0.8.4a' make: *** [all] Error 2 !!! ERROR: media-video/vlc-0.8.4a-r1 failed. Call stack: ebuild.sh, line 1546: Called dyn_compile ebuild.sh, line 937: Called src_compile vlc-0.8.4a-r1.ebuild, line 229: Called die !!! make of VLC failed !!! If you need support, post the topmost build error, and the call stack if relevant. --- emerge --info --- Portage 2.1.1 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.4-r3, 2.6.17-gentoo-r8 i686) ================================================================= System uname: 2.6.17-gentoo-r8 i686 Intel(R) Pentium(R) M processor 1.73GHz Gentoo Base System version 1.12.5 Last Sync: Mon, 25 Sep 2006 06:50:01 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] app-admin/eselect-compiler: [Not Present] dev-java/java-config: 1.3.7, 2.0.30 dev-lang/python: 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium-m -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/splash /etc/terminfo" CXXFLAGS="-O2 -march=pentium-m -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/ ftp://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo/ http://ftp.heanet.ie/pub/gentoo/ ftp://ftp.heanet.ie/pub/gentoo/" LC_ALL="en_GB.UTF-8" LINGUAS="en en_GB" MAKEOPTS="-j2" 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" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 X a52 aac acpi alsa avahi bash-completion beagle berkdb bitmap-fonts bzip2 cairo cdr cjk cli crypt cups daap dbus dlloader dri dts dvd dvdr dvdread eds elibc_glibc exif ffmpeg flac fontconfig fortran gdbm gif glitz gnome gnutls gpm gsl gstreamer gtk gtk2 gtkhtml hal imlib input_devices_joystick input_devices_keyboard input_devices_mouse input_devices_synaptics ipv6 isdnlog jabber javascript joystick jpeg kernel_linux lcms libg++ libnotify linguas_en linguas_en_GB logrotate mad matroska mikmod mmap mmx mng mp3 mpeg ncurses nfs nls nptl nptlonly ogg opengl pam pcmcia pcre pdf perl png ppds pppd python quicktime readline real reflection rtc samba scanner session sharedmem spell spl sse sse2 ssl startup-notification svg tcpd tetex theora threads tiff truetype truetype-fonts type1-fonts udev unicode usb userland_GNU video_cards_radeon video_cards_vesa vorbis wifi win32codecs x264 xml xml2 xorg xv xvid zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
The dep is not from VLC, something else is requiring liblzo.
I'd say that lzo is not a runtime requirement for VLC, cos the VLC binary does not link against LZO (1 or 2). [jon@garp ~]$ ldd `which vlc` librt.so.1 => /lib/librt.so.1 (0x00002b6f3b717000) libpthread.so.0 => /lib/libpthread.so.0 (0x00002b6f3b820000) libdl.so.2 => /lib/libdl.so.2 (0x00002b6f3b936000) libm.so.6 => /lib/libm.so.6 (0x00002b6f3ba3b000) libc.so.6 => /lib/libc.so.6 (0x00002b6f3bb93000) /lib64/ld-linux-x86-64.so.2 (0x00002b6f3b5fb000) It's something in the build process that needs lzo-1
If you were to get the dependencies from ldd output, you'd say that VLC depends on nothing. Probably a plugin links to liblzo, but the point is that I cannot find it in vlc's sources themselves, so it's likely to be brought in by a pkg-config. Please provide the config.log for the failed build.
I grepped '/usr/lib64/vlc' for lzo, and got a match for ffmpeg Then I did the following: emerge --unmerge lzo-1.08-r1 emerge ffmpeg emerge vlc And the VLC build worked! Hypothesis: the ffmpeg ebuild (or one of it's dependencies) is broken, and caused my previous revdep-rebuilds (etc) not to get the LZO dependencies right.
Comment #5's solution worked perfectly for me.
(In reply to comment #6) > Comment #5's solution worked perfectly for me. > Nope, not working for me, I only have lzo 2.x libs on my system. The problem seemed to rear it's ugly head when i removed esd and rebuilt with -esd in make.conf. Putting them back didn't force a rebuild of vlc.
Comment #5 works for me. What's a more correct, permanent solution? (Or will we always refer people to this bug when VLC won't install?)
I just run into it after revdep-rebuild - it suggested vlc, but rebuild failed comment #5 helped, I unmerged lzo, rebuilt ffmpeg, then vlc finally, I re-emerged lzo as a dependency of gnutls (update world) - I wonder what will happen after next ffmpeg rebuild (update) with lzo installed ...
The dependency does not come from VLC, it's just stale linking in ffmpeg.
(In reply to comment #10) > The dependency does not come from VLC, it's just stale linking in ffmpeg. so, what's the number of the bug you filed against ffmpeg as you closed this one? this is breakage on stable system, syncing and updating world does not help, and since vlc is the thing that fails, from the users' point of view it is problem of vlc - and when we know where the problem is, we can check for it and warn the user (just as I experienced a few minutes ago - updating gtk+ stopped and asked me to rebuild cairo with use pdf ...)
*** Bug 156810 has been marked as a duplicate of this bug. ***
*** Bug 158288 has been marked as a duplicate of this bug. ***
*** Bug 158314 has been marked as a duplicate of this bug. ***
*** Bug 159154 has been marked as a duplicate of this bug. ***