Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 40646 - xine-lib does not compile on amd64
Summary: xine-lib does not compile on amd64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Travis Tilley (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-06 14:48 UTC by Thomas Stein
Modified: 2004-04-18 21:34 UTC (History)
1 user (show)

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


Attachments
Patch to compile XvMC as PIC (XFree86-4.3.0-XvMC-PIC.patch,416 bytes, patch)
2004-04-06 12:25 UTC, Travis Tilley (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Stein 2004-02-06 14:48:02 UTC
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.
Comment 1 Peter Humphrey 2004-02-08 02:31:25 UTC
'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"
Comment 2 Sam Smith 2004-02-10 10:09:21 UTC
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?
Comment 3 Brad House 2004-03-03 16:18:10 UTC
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
Comment 4 Michiel Denie 2004-03-13 10:17:31 UTC
I wouldn't know either why removing nvidia-glx works but it still does. Seems a nice workaround until r6 is out.
Comment 5 Jason Huebel (RETIRED) gentoo-dev 2004-03-30 11:54:08 UTC
xfree-4.3.0-r6 is out there...
Comment 6 Travis Tilley (RETIRED) gentoo-dev 2004-04-06 12:14:39 UTC
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
Comment 7 Travis Tilley (RETIRED) gentoo-dev 2004-04-06 12:25:19 UTC
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.
Comment 8 Travis Tilley (RETIRED) gentoo-dev 2004-04-06 14:04:17 UTC
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?
Comment 9 Donnie Berkholz (RETIRED) gentoo-dev 2004-04-06 14:19:08 UTC
Let me check how close -r6 is to unmasking. I'll get back to you.
Comment 10 Donnie Berkholz (RETIRED) gentoo-dev 2004-04-13 08:55:29 UTC
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.
Comment 11 Jason Huebel (RETIRED) gentoo-dev 2004-04-16 12:30:39 UTC
I've been using this patch for almost two weeks. xine-lib compiles and works great (I use kaffeine with xine-lib).
Comment 12 Travis Tilley (RETIRED) gentoo-dev 2004-04-18 21:34:24 UTC
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).