When emerging vlc the linker says: /usr/lib/libebml.a(EbmlBinary.o): relocation R_X86_64_32S can not be used when making a shared object; recompile with -fPIC Reproducible: Always Steps to Reproduce: 1. emerge vlc Actual Results: g++ -Wsign-compare -Wsign-compare -Wall -finline-limit-30000 -pipe -o libvlcplugin.so libplugin_a-vlcshell.o libplugin_a-vlcplugin.o libplugin_a-vlcpeer.o libplugin_a-npunix.o \ ../lib/libvlc_pic.a -shared \ `top_builddir=".." ../vlc-config --libs vlc mozilla builtin pic` /usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.3/../../../.. /x86_64-pc-linux-gnu/bin/ld: /usr/lib/libebml.a(EbmlBinary.o): relocation R_X86_64_32S can not be used when making a shared object; recompile with -fPIC /usr/lib/libebml.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[3]: *** [libvlcplugin.so] Error 1 make[3]: Leaving directory `/var/tmp/portage/vlc-0.7.1-r1/work/vlc-0.7. 1/mozilla' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/vlc-0.7.1-r1/work/vlc-0.7. 1/mozilla' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/vlc-0.7.1-r1/work/vlc-0.7.1' make: *** [all] Error 2 !!! ERROR: media-video/vlc-0.7.1-r1 failed. !!! Function src_compile, Line 185, Exitcode 2 !!! make of VLC failed Expected Results: Successful compile and link of vlc. Running: CXXFLAGS="-fPIC" emerge --oneshot libebml fixed the problem for me. emerge info: Portage 2.0.50-r3 (default-amd64-2004.0, gcc-3.3.3, glibc-2.3.3_pre20040207-r0, 2.6.5-gentoo) ================================================================= System uname: 2.6.5-gentoo x86_64 4 Gentoo Base System version 1.4.6 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CFLAGS="-O2" CHOST="x86_64-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3. 2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /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/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://mirror.pudas.net/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://mirror.pudas.net/gentoo-portage" USE="3ds X Xaw3d aalib alsa amd64 apache2 apm arts avi berkdb bonobo cdr crypt cups curl dga dv dvd dvdr emacs emacs-w3 encode esd ethereal faad flash foomaticdb gatos gd gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml imap imlib innodb ipv6 jpeg kde lcms libg++ libwww mad maildir matroska mikmod mng motif mozcalendar mozilla mozxmlterm mpeg multilib music mysql nas ncurses nls nogcj odbc oggvorbis openal opengl oss pam pdflib perl png pnp postgres python qt quicktime readline ruby samba sasl scanner sdl slang snmp spell ssl tcltk tcpd tetex theora tiff truetype usb videos wmf xinerama xml xml2 xmms xosd xv zlib"
i was the one who unmasked vlc, and it compiled here without problem. I have libebml version 0.6.4 installed... huh. what version are you currently using? i'll have to test this more it seems...
I had libebml version 0.6.4. I noticed there was a 0.6.5 so i tried upgrading to that one to see if that solved the problem but it didn't. Now portage wants to downgrade to version 0.6.4 again so i must have something that depends on exactly that version. When i emerged vlc i had to reemerge libmatroska and live. I saw they had recently got -fPIC added in their ebuild files. Perhaps my libebml ebuild files are out of date (allthough i just ran emerge sync)? Could you check yours?
I just ran a diff on the ebuild for the installed version and the version in portage. the only difference is that the ~mips keyword was added. i just ran an emerge libebml vlc and it worked. an emerge -pv shows that i do indeed have the mozilla USE flag enabled, so i should be hitting this bug if you are... [ebuild R ] media-video/vlc-0.7.1-r1 -3dfx +X -aalib +alsa -altivec -arts +bidi -debug -dvb +dvd -esd +faad +fbcon +ggi +gnome +gtk -imlib -lirc -matroska +mozilla +ncurses +nls +oggvorbis +oss +png +sdl +slp -speex -(svga) +truetype +v4l +wxwindows -xosd +xv 0 kB I'll try emerging -e with your USE flags, but for now I am in serious need of sleep.
phew, i thought i was going nuts there. i finally managed to reproduce your bug, and i'll get to fixing it now. :)
oh yeah. fixed in cvs. give it a while to reach rsync (and lately it seems a while can seriously mean /a while/). i've added the fix to both 0.6.4 and 0.6.5, since it seems something is depending on 0.6.4 specifically.