[mythtv-users] Mythtv CVS possibly borked on amd64

Kevin Kuphal kuphal at dls.net
Wed Dec 29 15:07:13 UTC 2004


Chris Germano wrote:

> I'm trying to compile Mythtv CVS on an amd64 and it's failing. It 
> compiled fine a few weeks ago so I don't know what's up. I tried the 
> -fPIC thing in my cflags but it still did this, and i did make clean, 
> etc. I'm running Gentoo 64 on a amd 64 3200.
>
> gcc -c -pipe -w -O3 -march=k8 -fomit-frame-pointer -fPIC -O3 -Wall 
> -DPIC -fPIC -fomit-frame-pointer -DHAVE_AV_CONFIG_H -I.. 
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -D_REENTRANT  
> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" -DMMX 
> -DCONFIG_VIDEO4LINUX -DLCD_DEVICE -DUSING_OSS -DUSING_OPENGL_VSYNC 
> -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I. 
> -I../.. -I/usr/qt/3/include -o simple_idct_mmx.o i386/simple_idct_mmx.c
> gcc -c -pipe -w -O3 -march=k8 -fomit-frame-pointer -fPIC -O3 -Wall 
> -DPIC -fPIC -fomit-frame-pointer -DHAVE_AV_CONFIG_H -I.. 
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -D_REENTRANT  
> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" -DMMX 
> -DCONFIG_VIDEO4LINUX -DLCD_DEVICE -DUSING_OSS -DUSING_OPENGL_VSYNC 
> -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I. 
> -I../.. -I/usr/qt/3/include -o fft_sse.o i386/fft_sse.c
> gcc -c -pipe -w -O3 -march=k8 -fomit-frame-pointer -fPIC -O3 -Wall 
> -DPIC -fPIC -fomit-frame-pointer -DHAVE_AV_CONFIG_H -I.. 
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -D_REENTRANT  
> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" -DMMX 
> -DCONFIG_VIDEO4LINUX -DLCD_DEVICE -DUSING_OSS -DUSING_OPENGL_VSYNC 
> -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I. 
> -I../.. -I/usr/qt/3/include -o vp3dsp_mmx.o i386/vp3dsp_mmx.c
> gcc -c -pipe -w -O3 -march=k8 -fomit-frame-pointer -fPIC -O3 -Wall 
> -DPIC -fPIC -fomit-frame-pointer -DHAVE_AV_CONFIG_H -I.. 
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -D_REENTRANT  
> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" -DMMX 
> -DCONFIG_VIDEO4LINUX -DLCD_DEVICE -DUSING_OSS -DUSING_OPENGL_VSYNC 
> -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I. 
> -I../.. -I/usr/qt/3/include -o vp3dsp_sse2.o i386/vp3dsp_sse2.c
> rm -f libmythavcodec-0.16.so.0.16.0 libmythavcodec-0.16.so 
> libmythavcodec-0.16.so.0 libmythavcodec-0.16.so.0.16
> g++ -Wl,-rpath,/usr/qt/3/lib -shared 
> -Wl,-soname,libmythavcodec-0.16.so.0 -o libmythavcodec-0.16.so.0.16.0 
> common.o utils.o mem.o allcodecs.o mpegvideo.o h263.o jrevdct.o 
> jfdctfst.o mpegaudio.o ac3enc.o mjpeg.o audresample.o dsputil.o 
> motion_est.o imgconvert.o imgresample.o msmpeg4.o mpeg12.o h263dec.o 
> svq1.o rv10.o mpegaudiodec.o pcm.o simple_idct.o ratecontrol.o adpcm.o 
> eval.o jfdctint.o dv.o error_resilience.o wmadec.o fft.o mdct.o mace.o 
> huffyuv.o opts.o cyuv.o golomb.o h264.o raw.o indeo3.o asv1.o vp3.o 
> 4xm.o cabac.o ra144.o ra288.o vcr1.o cljr.o roqvideo.o dpcm.o tscc.o 
> interplayvideo.oxan.o rpza.o cinepak.o msrle.o msvideo1.o vqavideo.o 
> idcinvideo.o adx.o rational.o faandct.o snow.o sonic.o 8bps.o parser.o 
> smc.o flicvideo.o truemotion1.o vmdav.o lcl.o qtrle.o g726.o flac.o 
> vp3dsp.o integer.o h261.o resample2.o h264idct.o png.o pnm.o qdrw.o 
> qpeg.o rangecoder.o ulti.o xl.o postprocess.o a52dec.o bit_allocate.o 
> bitstream.o downmix.o imdct.oparse.o crc.o resample.o fdct_mmx.o 
> cputest.o dsputil_mmx.o mpegvideo_mmx.o idct_mmx.o motion_est_mmx.o 
> simple_idct_mmx.o fft_sse.o vp3dsp_mmx.o vp3dsp_sse2.o   
> -L/usr/qt/3/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm -lpthread
> /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/../../../../x86_64-pc-linux-gnu/bin/ld: 
> postprocess.o: relocation R_X86_64_32S against `a local symbol' can 
> not be used when making a shared object; recompile with -fPIC
> postprocess.o: could not read symbols: Bad value
> collect2: ld returned 1 exit status
> make: *** [libmythavcodec-0.16.so.0.16.0] Error 1

The answer has been posted to the list a couple times in the last 
month.  You need to add --disable-mmx to your configure line.  I believe 
there is a patch against the ffmpeg source that fixed this but Isaac 
needs to include an ffmpeg resync to our code for it to be included.

Kevin



More information about the mythtv-users mailing list