[mythtv] 'bug' in mythtv register use?
Martin Moeller
martin at martinm-76.dk
Tue Apr 15 00:03:14 EDT 2003
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>
More information about the mythtv-dev
mailing list