> Hi, compiling mythtv-0.18.1 on amd64 debian sid with gcc 3.4 (where much > of system compiled on 4.0). Following > www.mythtv.org/docs/mythtv-HOWTO-4.html > at : # dpkg-buildpackage -rfakeroot -us -uc -b > [...] > I'm getting: > > mpegvideo.c: In function `ff_copy_bits': > mpegvideo.c:26: error: extended registers have no high halves > {standard input}: Assembler messages: > {standard input}:15149: Error: bad register name `%' > make[3]: *** [mpegvideo.o] Error 1 > make[3]: Leaving directory > `/home/mythtv/tmp/mythtv-0.18.1/libs/libavcodec' > make[2]: *** [sub-libavcodec] Error 2 > make[2]: Leaving directory `/home/mythtv/tmp/mythtv-0.18.1/libs' > > anyone seen this and can suggest a workaround? > > Thanks > > Marius > _______________________________________________ > mythtv-users mailing list > mythtv-users@mythtv.org > http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users >
A little more info on this one: Here is the code from the ff_copy_bits function from mpegvideo.c : void ff_copy_bits(PutBitContext *pb, uint8_t *src, int length) { const uint16_t *srcw= (uint16_t*)src; int words= length>>4; int bits= length&15; int i; if(length==0) return; if(words < 16){ for(i=0; i<words; i++) put_bits(pb, 16, be2me_16(srcw[i])); }else if(put_bits_count(pb)&7){ for(i=0; i<words; i++) put_bits(pb, 16, be2me_16(srcw[i])); }else{ for(i=0; put_bits_count(pb)&31; i++) put_bits(pb, 8, src[i]); flush_put_bits(pb); memcpy(pbBufPtr(pb), src+i, 2*words-i); skip_put_bytes(pb, 2*words-i); } put_bits(pb, bits, be2me_16(srcw[words])>>(16-bits)); >From the compile output just before the error it looks as if the code is compiling for generic i386?: gcc-3.4 -c -pipe -w -O3 -Wall -Wno-switch -fomit-frame-pointer -D_REENTRANT -DPIC -fPIC -DMMX -Di386 -DUSING_IVTV -DUSING_DVB -DUSING_XRANDR -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr\" -DHAVE_AV_CONFIG_H -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I.. -I../.. -I/usr/include/qt3 -o allcodecs.o allcodecs.c gcc-3.4 -c -pipe -w -O3 -Wall -Wno-switch -fomit-frame-pointer -D_REENTRANT -DPIC -fPIC -DMMX -Di386 -DUSING_IVTV -DUSING_DVB -DUSING_XRANDR -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr\" -DHAVE_AV_CONFIG_H -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I.. -I../.. -I/usr/include/qt3 -o mpegvideo.o mpegvideo.c mpegvideo.c: In function `ff_copy_bits': mpegvideo.c:26: error: extended registers have no high halves {standard input}: Assembler messages: {standard input}:15149: Error: bad register name `%' make[3]: *** [mpegvideo.o] Error 1 make[3]: Leaving directory `/home/mythtv/tmp/mythtv-0.18.1/libs/libavcodec' make[2]: *** [sub-libavcodec] Error 2 make[2]: Leaving directory `/home/mythtv/tmp/mythtv-0.18.1/libs' make[1]: *** [sub-libs] Error 2 make[1]: Leaving directory `/home/mythtv/tmp/mythtv-0.18.1' make: *** [build-arch-stamp] Error 2 Don't know if this could be part of the problem? "[build-arch-stamp] would appear to corrobereate this. If I do a #./configure --arch=k8 - #qmake mythtv.pro - #make, I also get an error from libavcodec/: make[2]: Entering directory `/home/mythtv/tmp/mythtv-0.18.1/libs/libavcodec' gcc -c -pipe -march=k8 -w -O3 -Wall -Wno-switch -fomit-frame-pointer -D_REENTRANT -DPIC -fPIC -DUSING_IVTV -DUSING_XRANDR -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" -DHAVE_AV_CONFIG_H -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I.. -I../.. -I/usr/include/qt3 -o utils.o utils.c In file included from avcodec.h:14, from utils.c:27: common.h:63: error: array type has incomplete element type common.h:65: error: array type has incomplete element type make[2]: *** [utils.o] Error 1 make[2]: Leaving directory `/home/mythtv/tmp/mythtv-0.18.1/libs/libavcodec' make[1]: *** [sub-libavcodec] Error 2 make[1]: Leaving directory `/home/mythtv/tmp/mythtv-0.18.1/libs' make: *** [sub-libs] Error 2 I think I remember other apps (Mplayer for example) getting libavcodec from ffmpeg.... should I be looking at recompiling this or re-installing other dependencies? Sorry to be so lost here. Marius _______________________________________________ mythtv-users mailing list mythtv-users@mythtv.org http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users