
martin at martinm-76
Apr 14, 2003, 2:03 PM
Views: 1904
Permalink
|
|
'bug' in mythtv register use?
|
|
Hello all. On my new SuSE Linux 8.2 setup, mythtv won't compile, it keeps giving this error: gcc -c -pipe -O2 -march=i586 -mcpu=i686 -fmessage-length=0 -fPIC -DNO_DEBUG -w -O3 -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 -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I../.. -I/usr/include -I/usr/lib/qt3/include -o imgresample.o imgresample.c gcc -c -pipe -O2 -march=i586 -mcpu=i686 -fmessage-length=0 -fPIC -DNO_DEBUG -w -O3 -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 -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I../.. -I/usr/include -I/usr/lib/qt3/include -o msmpeg4.o msmpeg4.c common.h: In function `msmpeg4_pred_dc': msmpeg4.c:737: error: can't find a register in class `BREG' while reloading `asm' msmpeg4.c:737: error: can't find a register in class `BREG' while reloading `asm' make[2]: *** [msmpeg4.o] Fejl 1 make[2]: Leaving directory `/home/martin/CVS/mythtv/MC/libs/libavcodec' make[1]: *** [sub-libavcodec] Fejl 2 make[1]: Leaving directory `/home/martin/CVS/mythtv/MC/libs' make: *** [sub-libs] Fejl 2 A bit of searching on google got me this: http://lists.debian.org/debian-gcc/2002/debian-gcc-200207/msg00094.html Another suggested that removing PIC from the compilation should work just fine. I'm trying to see if I can get that to happen right now: http://lists.debian.org/debian-gcc/2002/debian-gcc-200207/msg00089.html As you can see, it only seems to happen in libavcodec. .. Okay, it seems everything compiles if i remove -fPIC from the Makefile in the libavcodec catalog. At least that's a way around it for now. Next is to see if it also works :) Well, either the lack of -fPIC broke something or more things are problematic with GCC 3.3: g++ -c -pipe -O2 -march=i586 -mcpu=i686 -fmessage-length=0 -fPIC -DNO_DEBUG -Wall -W -O6 -march=pentiumpro -fomit-frame-pointer -funroll-loops -fexpensive-optimizations `freetype-config --cflags` -D_REENTRANT -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" -DMMX -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I/usr/local/include -I../libmyth -I.. -I../libavcodec -I../libavformat -I/usr/include -I/usr/lib/qt3/include -o nuppeldecoder.o nuppeldecoder.cpp nuppeldecoder.cpp: In function `void release_nuppel_buffer(AVCodecContext*, AVFrame*)': nuppeldecoder.cpp:399: error: `assert' undeclared (first use this function) nuppeldecoder.cpp:399: error: (Each undeclared identifier is reported only once for each function it appears in.) make[2]: *** [nuppeldecoder.o] Fejl 1 make[2]: Leaving directory `/home/martin/CVS/mythtv/MC/libs/libmythtv' make[1]: *** [sub-libmythtv] Fejl 2 make[1]: Leaving directory `/home/martin/CVS/mythtv/MC/libs' make: *** [sub-libs] Fejl 2 That seems to indicate some code needs altering in the future to work on modern systems. Maybe it will even help stability? I'm not sure what to do about this... -- Martin Moeller <martin[at]martinm-76.dk>
|