This is what i get when i try to emerge xine-lib: libtool-nofpic: link: warning: `/usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.2/../../..//libfreetype.la' seems to be moved /usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.2/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/X11R6/lib/libXvMC.a(XvMC.o): relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC /usr/X11R6/lib/libXvMC.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[4]: *** [xineplug_vo_out_xvmc.la] Error 1 make[4]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r1/work/xine-lib-1-rc3a/src/video_out' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r1/work/xine-lib-1-rc3a/src/video_out' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r1/work/xine-lib-1-rc3a/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r1/work/xine-lib-1-rc3a' make: *** [all] Error 2 Reproducible: Always Steps to Reproduce: 1. 2. 3.
'emerge xine-lib' also fails for me on amd64, but with the error 'relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC'. This is for xine-lib-1_rc3-r1, but I get the same error emerging xine-lib-1_rc2. I tried emerging with 'CFLAGS="-O3 -pipe" emerge xine-lib' and got the same result. [...] source='video_out_xvmc.c' object='video_out_xvmc.lo' libtool=yes \ depfile='.deps/video_out_xvmc.Plo' tmpdepfile='.deps/video_out_xvmc.TPlo' \ depmode=gcc3 /bin/sh ../../depcomp \ /bin/sh ../../libtool-nofpic --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include -I../../include -I../../src -I../../src/xine-engine -I../../src/xine-engine -I../../src/xine-utils -I../../src/input -I../../src/input -I/usr/X11R6/include -DXINE_COMPILE -I/usr/include/SDL -D_REENTRANT -I../../src/video_out/vidix -I../../src/video_out/vidix -O3 -fomit-frame-pointer -fexpensive-optimizations -fschedule-insns2 -fno-strict-aliasing -ffast-math -funroll-loops -finline-functions -Wall -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -O3 -pipe -fPIC -fomit-frame-pointer -I/usr/kde/3.2/include/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c -o video_out_xvmc.lo `test -f 'video_out_xvmc.c' || echo './'`video_out_xvmc.c video_out_xvmc.c:767: warning: no previous prototype for `HandleXError' video_out_xvmc.c:781: warning: `x11_InstallXErrorHandler' defined but not used video_out_xvmc.c:787: warning: `x11_DeInstallXErrorHandler' defined but not used /bin/sh ../../libtool-nofpic --mode=link gcc -I/usr/X11R6/include -DXINE_COMPILE -I/usr/include/SDL -D_REENTRANT -I../../src/video_out/vidix -I../../src/video_out/vidix -O3 -fomit-frame-pointer -fexpensive-optimizations -fschedule-insns2 -fno-strict-aliasing -ffast-math -funroll-loops -finline-functions -Wall -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -O3 -pipe -fPIC -fomit-frame-pointer -I/usr/kde/3.2/include/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -o xineplug_vo_out_xvmc.la -rpath /usr/lib/xine/plugins/1.0.0 -avoid-version -module deinterlace.lo alphablend.lo video_out_xvmc.lo -L/usr/X11R6/lib -lXv -L/usr/X11R6/lib -lXvMC -lXvMCNVIDIA -L/usr/X11R6/lib -lXinerama -lXext ../../src/xine-engine/libxine.la libtool-nofpic: link: warning: `/usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.2/../../..//libfreetype.la' seems to be moved /usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.2/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/X11R6/lib/libXvMC.a(XvMC.o): relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC /usr/X11R6/lib/libXvMC.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[4]: *** [xineplug_vo_out_xvmc.la] Error 1 make[4]: Leaving directory `/var/tmp/portage/xine-lib-1_rc2/work/xine-lib-1-rc2/src/video_out' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/xine-lib-1_rc2/work/xine-lib-1-rc2/src/video_out' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/xine-lib-1_rc2/work/xine-lib-1-rc2/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/xine-lib-1_rc2/work/xine-lib-1-rc2' make: *** [all] Error 2 !!! ERROR: media-libs/xine-lib-1_rc2 failed. !!! Function src_compile, Line 96, Exitcode 2 !!! Parallel make failed emerge info: (gcc 3.3.2-r5) Portage 2.0.50 (default-amd64-2004.0, gcc-3.3.2, glibc-2.3.3_pre20040117-r0, 2.6.2-gentoo) ================================================================= System uname: 2.6.2-gentoo x86_64 5 Gentoo Base System version 1.4.3.12 Autoconf: sys-devel/autoconf-2.59 Automake: sys-devel/automake-1.8.2 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CFLAGS="-O3 -pipe -fPIC -fomit-frame-pointer" 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/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O3 -pipe -fPIC -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.mirror.sdv.fr/ http://212.219.247.10/sites/www.ibiblio.org/gentoo/ http://212.219.56.131/sites/www.ibiblio.org/gentoo/ http://194.83.57.2/sites/www.ibiblio.org/gentoo/ http://212.219.56.162/sites/www.ibiblio.org/gentoo/" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X alsa amd64 apm arts avi berkdb cdr cups dvd encode esd foomaticdb gdbm gif gpm imlib java jpeg kde libg++ libwww mikmod motif mozilla mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl slang spell ssl tcpd truetype xml2 xmms xv zlib"
Transcribed from the Gentoo on Alternative Architectures forum: jstelly wrote: Uninstalling nvidia-glx fixed the problem for me. I did an Code: emerge -C nvidia-glx emerge xine-lib emerge nvidia-glx emerge kde I'm assuming that should still give me opengl support and that I'll just be missing some sort of acceleration on xine stuff? I don't really use linux for video stuff so it's not too big a deal. ***** kosan wrote: Wow, i have been trying everything i could imagine looking everywhere trying to figure out how to get xine-lib to compile. I have tried just about every suggestion in the forums and have been trying things on my own but this actually worked for me. Who woulda thunk it? Now the question is why is is choking on nvidia-glx, all the error messages i can see in the compile have to do with other packages and compile options, no where did i see anything related to glx. Oh well it works and that's what's important. Thanks for the tip! -Chris ******* Kind of a kludgy workaround, but it seems to work. Now the question on everyone's mind is....why?
ok, it's a problem with xfree86 4.3.0-r5 ... -r6 will be released soon to fix the problem. I don't know why unmerging the nvidia-glx driver would solve it for anyone. if you use Xfree 4.3.99.902 the problem does not exist. -Brad
I wouldn't know either why removing nvidia-glx works but it still does. Seems a nice workaround until r6 is out.
xfree-4.3.0-r6 is out there...
I just spent days fixing similar bugs in xfree... gcc -shared .libs/deinterlace.o .libs/alphablend.o .libs/video_out_xvmc.o -Wl,--rpath -Wl,/var/tmp/portage/xine-lib-1_rc3-r2/work/xine-lib-1-rc3b/src/xine-engine/.libs -L/usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.3/../../../ -L/usr/X11R6/lib -lXv -lXvMC -lXvMCNVIDIA -lXinerama -lXext ../../src/xine-engine/.libs/libxine.so -Wl,-soname -Wl,xineplug_vo_out_xvmc.so -o .libs/xineplug_vo_out_xvmc.so /usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.3/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/X11R6/lib/libXvMC.a(XvMC.o): relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC /usr/X11R6/lib/libXvMC.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[4]: *** [xineplug_vo_out_xvmc.la] Error 1 it appears that libXvMC needs additional fixing. the reason why unmerging nvidia-glx seems to work is that without it xine-lib seems to compile without Xv support, ignoring the broken XvMC. nvidia-glx adds it's own XvMCNVIDIA, which xine-lib sees and assumes XvMC works: -lXv -lXvMC -lXvMCNVIDIA So, all we need is an -fPIC fix for libXvMC.a
Created attachment 28799 [details, diff] Patch to compile XvMC as PIC This patch should allow XvMC to be compiled as position independant in xfree-4.3.0-r5 and xfree-4.3.0-r6.
ok, the patch works. XvMC is now PIC and xine-lib compiles against it. xfree herd - any chance of this getting into both r5 and r6? or are we going to have to wait for the final version of r6?
Let me check how close -r6 is to unmasking. I'll get back to you.
This is in patchset 2.1.26.16. As of that patchset, to check your version run xdpyinfo | grep vendor. donnie@supernova xfree $ xdpyinfo | grep vendor vendor string: Gentoo Linux (The X.Org Foundation 6.7.0, revision r0-0.5) The last string (0.5) is patchset. Please confirm it's working.
I've been using this patch for almost two weeks. xine-lib compiles and works great (I use kaffeine with xine-lib).
xfree is officially deprecated on amd64. the fix for this bug has been added to xfree 4.3.0-r5. either recompile xfree after doing an emerge sync, or uninstall xfree and install xorg-x11 (which is, IMHO, a better solution).