[mythtv] CVS Compiler problem postprocess.c in /mythtv/libs/libavcodec

stefan manteuffel linux at sm-recycling.de
Mon Oct 11 19:02:06 UTC 2004


Hello,


gcc -c -pipe -O -fmessage-length=0 -fPIC -w -g -O -DHAVE_AV_CONFIG_H -I.. 
-DPIC -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 -DUSING_IVTV -DUSING_OSS -DQT_THREAD_SUPPORT -DQT_SHARED 
-DQT_TABLET_SUPPORT -DQT_NO_DEBUG -funroll-loops 
-I/usr/lib/qt3/mkspecs/default -I. -I../.. -I/usr/include 
-I/usr/lib/qt3/include -o postprocess.o libpostproc/postprocess.c 
-fomit-frame-pointer


I added -fomit-frame-pointer and now it works.

Am Montag, 11. Oktober 2004 13:17 schrieb Allan Stirling:
> Stefan Manteuffel wrote:
> > Hello List
> >
> > after i had  loaded the cvs for mythtv i can not compile it any more.
> > The .16 and 15.1 was compiled on my suse 9.0 with any Problems.
> > Here ist compiler output
> >
> >
> > I hope some on know waht is wrong and sorry for that english ;)
> >
>  >...
> >
> > libpostproc/postprocess_template.c: In function `postProcess_MMX':
> > libpostproc/postprocess_template.c:3169: error: can't find a register in
> > class `GENERAL_REGS' while reloading `asm'
> > libpostproc/postprocess_template.c:3252: error: can't find a register in
> > class `GENERAL_REGS' while reloading `asm'
> >...
> >
> > has anyone an idear what is wrong ?
> >
> > Gossamer and google cant't help
> >
> > stefan
>
> In fact, google can.
>
> http://www.google.com/search?hl=en&q=%60GENERAL_REGS%27+while+reloading+%60
>as m%27&btnG=Google+Search

>
> Gives us as the first result:
>
> http://gcc.gnu.org/ml/gcc-bugs/2004-01/msg03115.html
>
> Which points us towards:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13850
>
> Which says that:
>
> But with these
> CFLAGS="-O -march=athlon-xp -funroll-loops -pipe"
> it works. O6 and O3 and O2 don't work.
>
gcc -c -pipe -O1 -fmessage-length=0 -fPIC -w -g -O -DHAVE_AV_CONFIG_H -I.. 
-DPIC -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 -DUSING_IVTV -DUSING_OSS -DQT_THREAD_SUPPORT -DQT_SHARED 
-DQT_TABLET_SUPPORT -DQT_NO_DEBUG -funroll-loops 
-I/usr/lib/qt3/mkspecs/default -I. -I../.. -I/usr/include 
-I/usr/lib/qt3/include -o postprocess.o libpostproc/postprocess.c
In file included from libpostproc/postprocess.c:648:
libpostproc/postprocess_template.c: In function `postProcess_MMX':
libpostproc/postprocess_template.c:3169: error: can't find a register in class 
`GENERAL_REGS' while reloading `asm'
libpostproc/postprocess_template.c:3252: error: can't find a register in class 
`GENERAL_REGS' while reloading `asm'
make: *** [postprocess.o] Fehler 1

>
> It's a problem with versions of GCC >3.4. Resolution is to step back GCC
> versions, reduce your optimization level or don't specify an arch.


My GCC Version is : gcc -v

Reading specs from /usr/lib/gcc-lib/i586-suse-linux/3.3.1/specs
Konfiguriert mit: ../configure --enable-threads=posix --prefix=/usr 
--with-local-prefix=/usr/local --infodir=/usr/share/info 
--mandir=/usr/share/man --libdir=/usr/lib 
--enable-languages=c,c++,f77,objc,java,ada --disable-checking --enable-libgcj 
--with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib 
--with-system-zlib --enable-shared --enable-__cxa_atexit i586-suse-linux
Thread model: posix
gcc-Version 3.3.1 (SuSE Linux)


>
> My temporary workaround is to recompile the individual files that fail,
> replacing -O3 with -O. Then it compiles.

 It is not working 

Stefan


More information about the mythtv-dev mailing list