gcc -c -march=i686 -O3 -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I../guicast -I../quicktime -I../libmpeg3 -I../libsndfile -I../avifile/include -DUSE_AVI wav_ms_adpcm.c -o i686/wav_ms_adpcm.o ar rcs i686/libsndfile.a i686/G72x/g721.o i686/G72x/g723_16.o i686/G72x/g723_24.o i686/G72x/g723_40.o i686/G72x/g72x.o i686/GSM610/add.o i686/GSM610/code.o i686/GSM610/decode.o i686/GSM610/gsm_create.o i686/GSM610/gsm_decode.o i686/GSM610/gsm_destroy.o i686/GSM610/gsm_encode.o i686/GSM610/gsm_option.o i686/GSM610/long_term.o i686/GSM610/lpc.o i686/GSM610/preprocess.o i686/GSM610/rpe.o i686/GSM610/short_term.o i686/GSM610/table.o i686/aiff.o i686/alaw.o i686/au.o i686/au_g72x.o i686/common.o i686/newpcm.o i686/paf.o i686/pcm.o i686/raw.o i686/sndfile.o i686/svx.o i686/ulaw.o i686/wav.o i686/wav_float.o i686/wav_gsm610.o i686/wav_ima_adpcm.o i686/wav_ms_adpcm.o make[1]: Leaving directory `/var/tmp/portage/xmovie-1.8-r3/work/xmovie-1.8/libsndfile' make -C avifile make[1]: Entering directory `/var/tmp/portage/xmovie-1.8-r3/work/xmovie-1.8/avifile' g++ -c -march=i586 -I/usr/local/include -D_REENTRANT -Ddbg_printf=__vprintf -DTRACE=__vprintf -Iinclude -DWIN32_PATH=\"/usr/lib/win32\" -w -Iavifile -fno-omit-frame-pointer avifile/AVIIndex.cpp -o avifile/AVIIndex.o g++ -c -march=i586 -I/usr/local/include -D_REENTRANT -Ddbg_printf=__vprintf -DTRACE=__vprintf -Iinclude -DWIN32_PATH=\"/usr/lib/win32\" -w -Iavifile -fno-omit-frame-pointer avifile/AVIIndex2.cpp -o avifile/AVIIndex2.o g++ -c -march=i586 -I/usr/local/include -D_REENTRANT -Ddbg_printf=__vprintf -DTRACE=__vprintf -Iinclude -DWIN32_PATH=\"/usr/lib/win32\" -w -Iavifile -fno-omit-frame-pointer avifile/AVIReadHandler.cpp -o avifile/AVIReadHandler.o g++ -c -march=i586 -I/usr/local/include -D_REENTRANT -Ddbg_printf=__vprintf -DTRACE=__vprintf -Iinclude -DWIN32_PATH=\"/usr/lib/win32\" -w -Iavifile -fno-omit-frame-pointer avifile/AVIReadHandler2.cpp -o avifile/AVIReadHandler2.o In file included from avifile/AVIReadHandler.cpp:15: avifile/List.h:81: friend declaration requires class-key, i.e. `friend struct List2<T>' avifile/AVIReadHandler.cpp:258: friend declaration requires class-key, i.e. `friend class AVIReadHandler' avifile/AVIReadHandler.cpp: In member function `int AVIReadHandler::_parseFile(List2<AVIStreamNode>&)': avifile/AVIReadHandler.cpp:990: `min' undeclared (first use this function) avifile/AVIReadHandler.cpp:990: (Each undeclared identifier is reported only once for each function it appears in.) avifile/AVIReadHandler.cpp:1112: `cerr' undeclared (first use this function) avifile/AVIReadHandler.cpp:1157: `endl' undeclared (first use this function) make[1]: *** [avifile/AVIReadHandler.o] Error 1 make[1]: *** Waiting for unfinished jobs.... In file included from avifile/AVIReadHandler2.cpp:17: avifile/List.h:81: friend declaration requires class-key, i.e. `friend struct List2<T>' avifile/AVIReadHandler2.cpp:460: friend declaration requires class-key, i.e. `friend class AVIReadHandler2' make[1]: *** [avifile/AVIReadHandler2.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/xmovie-1.8-r3/work/xmovie-1.8/avifile' make: *** [all] Error 2 !!! ERROR: The ebuild did not complete successfully. !!! Function src_compile, Line -13, Exitcode 2 !!! (no error message) sexybit speedtouch # gcc 3.2 - portage .31 - glibc -r6 - default-x86-2.0 CFLAGS="-march=i686 -O3 -pipe" CXXFLAGS="-march=i686 -O3 -pipe"
SRC_URI in the xmovie ebuild should be fixed as follow: SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" however, the latest xmovie version , ie 1.9.7 still doesn't compile successfull _here_ make -C quicktime make[1]: Entering directory `/usr/myportage/media-video/xmovie/xmovie-1.9.7/quicktime' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/usr/myportage/media-video/xmovie/xmovie-1.9.7/quicktime' make -C libmpeg3 make[1]: Entering directory `/usr/myportage/media-video/xmovie/xmovie-1.9.7/libmpeg3' gcc -c `cat i686/c_flags` audio/ac3.c -o i686/audio/ac3.o cc1: warning: -malign-loops is obsolete, use -falign-loops cc1: warning: -malign-jumps is obsolete, use -falign-jumps cc1: warning: -malign-functions is obsolete, use -falign-functions audio/ac3.c:4:17: a52.h: No such file or directory audio/ac3.c: In function `mpeg3_new_ac3': audio/ac3.c:15: warning: assignment makes pointer from integer without a cast audio/ac3.c:16: warning: assignment makes pointer from integer without a cast audio/ac3.c: In function `mpeg3_ac3_header': audio/ac3.c:56: `A52_LFE' undeclared (first use in this function) audio/ac3.c:56: (Each undeclared identifier is reported only once audio/ac3.c:56: for each function it appears in.) audio/ac3.c:58: `A52_CHANNEL_MASK' undeclared (first use in this function) audio/ac3.c:60: `A52_MONO' undeclared (first use in this function) audio/ac3.c:63: `A52_STEREO' undeclared (first use in this function) audio/ac3.c:66: `A52_3F' undeclared (first use in this function) audio/ac3.c:69: `A52_2F1R' undeclared (first use in this function) audio/ac3.c:72: `A52_3F1R' undeclared (first use in this function) audio/ac3.c:75: `A52_2F2R' undeclared (first use in this function) audio/ac3.c:78: `A52_3F2R' undeclared (first use in this function) audio/ac3.c:81: `A52_DOLBY' undeclared (first use in this function) audio/ac3.c:85: warning: concatenation of string literals with __FUNCTION__ is deprecated audio/ac3.c: In function `mpeg3audio_doac3': audio/ac3.c:100: `sample_t' undeclared (first use in this function) audio/ac3.c:100: parse error before "level" audio/ac3.c:107: `level' undeclared (first use in this function) audio/ac3.c:123: parse error before ')' token make[1]: *** [i686/audio/ac3.o] Error 1 make[1]: Leaving directory `/usr/myportage/media-video/xmovie/xmovie-1.9.7/libmpeg3' make: *** [all] Error 2 I'll report this to the upstream ASAP. In the meantime we should mask this pkg in the x86-2.0 profile (ie. gcc3.2) If sameone can .. please try compiling it with gcc3.2 and see if this error occurs again.
For one thing, the ebuild is missing avifile as a dependancy... how much ya want to bet that there are other missing dependancies in the ebuild. PS: I haven't looked at the ebuild itelf, but installing avifile got rid of the first comment's issue. I'll have to wait for it to finish compiling or error's out before I can continue diagnostics.
Created attachment 4663 [details, diff] Patch to get xmovie 1.8 to work with GCC 3.2 Not sure if anyone cares, but i've not been able to get xmovie to compile with GCC 3.2, even when i added avifile to the dependancy list. So i fixed the compiler errors with this patch. It plays all my mpegs fine, although i get a sparkly artifact with some mpegs on drastic scene changes.
Created attachment 4664 [details] The new ebuild script to apply my patch This is the ebuild script I used to apply my patch before the compile takes place.
Good work. xmovie builds for me too on 1.4 with gcc-3.2. I get artifacts on MPEGs as well. It crashes when I open an AVI or WMV.
thanks for the bug report and fix! resolved in xmovie-1.8-r4
Hi; Unfortunately, xmovie-1.8-r4 does not compile for me under gcc-2.95.3, 1.2 profile. :( Perhaps the patch should be conditionally applied, depending on if you are using gcc-3.2 ? Paul g++ -c -march=i586 -I/usr/local/include -D_REENTRANT -Ddbg_printf=__vprintf -DTRACE=__vprintf -Iinclude -DWIN32_PATH=\"/usr/lib/win32\" -w -Ivideocodec -Ivideocodec/DirectShow videocodec/codeckeeper.cpp -o videocodec/codeckeeper.o videocodec/codeckeeper.cpp: In function `static const struct CodecInfo * CodecInfo::match(int, const CodecInfo * = 0)': videocodec/codeckeeper.cpp:247: request for member `base' in `it', which is of non-aggregate type `const CodecInfo *' videocodec/codeckeeper.cpp:250: request for member `base' in `it', which is of non-aggregate type `const CodecInfo *' make[1]: *** [videocodec/codeckeeper.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/xmovie-1.8-r4/work/xmovie-1.8/avifile' make: *** [all] Error 2
re-opening this based on comment 7
Confirmed that the patch breaks GCC 2.95.4 builds. I uncommented the line in the ebuild which applies the patch and it emerged fine on my system.
So you know, I submitted another bug a couple minutes ago that will enable you to do the following in the xmovie ebuild: version ">=gcc-3.0" && cd ${S} && patch -p1 <${FILESDIR}/xmovie-gcc3-gentoo.patch || die Which should take care of the problem. It's #9910 Enjoy!
Um, sorry for all these comments; I thought Bugzilla automatically made links when it saw "#number", evidentally not. Here's a link to the bug in question: http://bugs.gentoo.org/show_bug.cgi?id=9910
fixed in -r4. emerge rsync and emerge xmovie once more.