First, the error: make[6]: Entering directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video/mpeg4-2000/tools/entropy' if /bin/sh ../../../../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../../../.. -I../../../../../include -I../../type -D__TRACE_AND_STATS_ -D__DOUBLE_PRECISION_ -D_REENTRANT -DNOCONTROLS -fexceptions -Wall -Werror -Wmissing-prototypes -Wno-char-subscripts -Woverloaded-virtual -Wno-unknown-pragmas -Wno-deprecated -Wformat=2 -D_OBSS_ -march=pentium4 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer -DUSE_MMX -DMPEG4IP -MT bitstrm.lo -MD -MP -MF ".deps/bitstrm.Tpo" \ -c -o bitstrm.lo `test -f 'bitstrm.cpp' || echo './'`bitstrm.cpp; \ then mv -f ".deps/bitstrm.Tpo" ".deps/bitstrm.Plo"; \ else rm -f ".deps/bitstrm.Tpo"; exit 1; \ fi if /bin/sh ../../../../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../../../.. -I../../../../../include -I../../type -D__TRACE_AND_STATS_ -D__DOUBLE_PRECISION_ -D_REENTRANT -DNOCONTROLS -fexceptions -Wall -Werror -Wmissing-prototypes -Wno-char-subscripts -Woverloaded-virtual -Wno-unknown-pragmas -Wno-deprecated -Wformat=2 -D_OBSS_ -march=pentium4 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer -DUSE_MMX -DMPEG4IP -MT huffman.lo -MD -MP -MF ".deps/huffman.Tpo" \ -c -o huffman.lo `test -f 'huffman.cpp' || echo './'`huffman.cpp; \ then mv -f ".deps/huffman.Tpo" ".deps/huffman.Plo"; \ else rm -f ".deps/huffman.Tpo"; exit 1; \ fi mkdir .libs g++ -DHAVE_CONFIG_H -I. -I. -I../../../../.. -I../../../../../include -I../../type -D__TRACE_AND_STATS_ -D__DOUBLE_PRECISION_ -D_REENTRANT -DNOCONTROLS -fexceptions -Wall -Werror -Wmissing-prototypes -Wno-char-subscripts -Woverloaded-virtual -Wno-unknown-pragmas -Wno-deprecated -Wformat=2 -D_OBSS_ -march=pentium4 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer -DUSE_MMX -DMPEG4IP -MT bitstrm.lo -MD -MP -MF .deps/bitstrm.Tpo -c bitstrm.cpp -fPIC -DPIC -o .libs/bitstrm.o g++ -DHAVE_CONFIG_H -I. -I. -I../../../../.. -I../../../../../include -I../../type -D__TRACE_AND_STATS_ -D__DOUBLE_PRECISION_ -D_REENTRANT -DNOCONTROLS -fexceptions -Wall -Werror -Wmissing-prototypes -Wno-char-subscripts -Woverloaded-virtual -Wno-unknown-pragmas -Wno-deprecated -Wformat=2 -D_OBSS_ -march=pentium4 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer -DUSE_MMX -DMPEG4IP -MT huffman.lo -MD -MP -MF .deps/huffman.Tpo -c huffman.cpp -fPIC -DPIC -o .libs/huffman.o distcc[1239] ERROR: compile /root/.ccache/bitstrm.tmp.poe.1235.ii on localhost failed /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h: In function `int std::__convert_from_v(char*, int, const char*, _Tv, int* const&, int) [with _Tv = double]': /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/bits/locale_facets.tcc:911: instantiated from `_OutIter std::num_put<_CharT, _OutIter>::_M_convert_float(_OutIter, std::ios_base&, _CharT, char, _ValueT) const [with _ValueT = double, _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]' /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/bits/locale_facets.tcc:1058: instantiated from `_OutIter std::num_put<_CharT, _OutIter>::do_put(_OutIter, std::ios_base&, _CharT, double) const [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]' /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/bits/locale_facets.h:891: instantiated from `_OutIter std::num_put<_CharT, _OutIter>::put(_OutIter, std::ios_base&, _CharT, double) const [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]' /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/bits/ostream.tcc:250: instantiated from `std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char, _Traits = std::char_traits<char>]' bitstrm.cpp:326: instantiated from here /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h:69: warning: format not a string literal, argument types not checked /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h:71: warning: format not a string literal, argument types not checked make[6]: *** [bitstrm.lo] Error 1 make[6]: *** Waiting for unfinished jobs.... distcc[1386] ERROR: compile /root/.ccache/huffman.tmp.poe.1382.ii on neruda failed /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h: In function `int std::__convert_from_v(char*, int, const char*, _Tv, int* const&, int) [with _Tv = double]': /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/bits/locale_facets.tcc:911: instantiated from `_OutIter std::num_put<_CharT, _OutIter>::_M_convert_float(_OutIter, std::ios_base&, _CharT, char, _ValueT) const [with _ValueT = double, _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]' /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/bits/locale_facets.tcc:1058: instantiated from `_OutIter std::num_put<_CharT, _OutIter>::do_put(_OutIter, std::ios_base&, _CharT, double) const [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]' /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/bits/locale_facets.h:891: instantiated from `_OutIter std::num_put<_CharT, _OutIter>::put(_OutIter, std::ios_base&, _CharT, double) const [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]' /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/bits/ostream.tcc:250: instantiated from `std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char, _Traits = std::char_traits<char>]' huffman.cpp:246: instantiated from here /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h:69: warning: format not a string literal, argument types not checked /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h:71: warning: format not a string literal, argument types not checked make[6]: *** [huffman.lo] Error 1 make[6]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video/mpeg4-2000/tools/entropy' make[5]: *** [all-recursive] Error 1 make[5]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video/mpeg4-2000/tools' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video/mpeg4-2000' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1' make: *** [all] Error 2 !!! ERROR: media-video/mpeg4ip-1.1 failed. !!! Function src_compile, Line 49, Exitcode 2 !!! make failed Next, my emerge info: Portage 2.0.50-r6 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3_pre20040420-r0, 2.6.5-gentoo-r1) ================================================================= System uname: 2.6.5-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System version 1.4.14 distcc 2.14 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache distcc sandbox" GENTOO_MIRRORS="http://mirrors.tds.net/gentoo http://gentoo.mirrors.pair.com/ ftp://mirrors.tds.net/gentoo http://mirror.datapipe.net/gentoo" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aac acpi alsa apache2 arts audiofile avi berkdb cdr crypt cups divx4linux dvd dvdr encode f77 flac foomaticdb gdbm gif gpm imagemagick imap imlib innodb jack java jpeg kde libg++ libwww live mad maildir mikmod mmx mpeg mysql ncurses nls nptl oggvorbis opengl pam pdflib perl png python qt quicktime readline samba scanner sdl speex sse ssl tcpd theora tiff truetype unicode usb vhosts x86 xml2 xvid zlib" I tried compiling with 3.3.3-r3 and that failed with this error. So I updated to 3.3.3-r5. Same thing. I use distcc. I disabled that. Still same problem. Next, I tried building on another machine with essentially the same build out: 2.6.5-r1 kernel, NPTL enabled glibc (latest ~x86), and gcc-3.3.3-r5. I got the same error on huffman.cpp. Reproducible: Always Steps to Reproduce: 1. 2. 3. Actual Results:
I'd just like to confirm that compilation also fails in the same place using gcc-3.2.3. Henry
I am able to resolve this issue, and bug 52071 by adding: export CFLAGS="-L/usr/X11R6/lib" export CXXFLAGS="-L/usr/X11R6/lib" export LDFLAGS="-L/usr/X11R6/lib" to the src_compile function, just before "local myconf", not sure of the correct way of doing this... maybe with flag-o-matic? I will do a bit more testing/digging and see what I come up with.
No luck for me with Sig's solution: gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../../include -DHAVE_MMX -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -L/usr/X11R6/lib -DUSE_MMX -DMPEG4IP -MT output.lo -MD -MP -MF .deps/output.Tpo -c output.c -fPIC -DPIC -o .libs/output.o gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../../include -DHAVE_MMX -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -L/usr/X11R6/lib -DUSE_MMX -DMPEG4IP -MT reconstruct.lo -MD -MP -MF .deps/reconstruct.Tpo -c reconstruct.c -fPIC -DPIC -o .libs/reconstruct.o gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../../include -DHAVE_MMX -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -L/usr/X11R6/lib -DUSE_MMX -DMPEG4IP -MT motion.lo -MD -MP -MF .deps/motion.Tpo -c motion.c -o motion.o >/dev/null 2>&1 output.c: In function `mpeg3video_rgb16_mmx': output.c:57: error: can't find a register in class `GENERAL_REGS' while reloading `asm' output.c: In function `mpeg3video_ditherframe': output.c:726: warning: use of cast expressions as lvalues is deprecated output.c:751: warning: use of cast expressions as lvalues is deprecated output.c:791: warning: use of cast expressions as lvalues is deprecated output.c:816: warning: use of cast expressions as lvalues is deprecated make[5]: *** [output.lo] Error 1 make[5]: *** Waiting for unfinished jobs.... gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../../include -DHAVE_MMX -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -L/usr/X11R6/lib -DUSE_MMX -DMPEG4IP -MT mpeg3video.lo -MD -MP -MF .deps/mpeg3video.Tpo -c mpeg3video.c -fPIC -DPIC -o .libs/mpeg3video.o gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../../include -DHAVE_MMX -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -L/usr/X11R6/lib -DUSE_MMX -DMPEG4IP -MT seek.lo -MD -MP -MF .deps/seek.Tpo -c seek.c -fPIC -DPIC -o .libs/seek.o gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../../include -DHAVE_MMX -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -L/usr/X11R6/lib -DUSE_MMX -DMPEG4IP -MT reconstruct.lo -MD -MP -MF .deps/reconstruct.Tpo -c reconstruct.c -o reconstruct.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../../include -DHAVE_MMX -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -L/usr/X11R6/lib -DUSE_MMX -DMPEG4IP -MT seek.lo -MD -MP -MF .deps/seek.Tpo -c seek.c -o seek.o >/dev/null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../../include -DHAVE_MMX -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -L/usr/X11R6/lib -DUSE_MMX -DMPEG4IP -MT mpeg3video.lo -MD -MP -MF .deps/mpeg3video.Tpo -c mpeg3video.c -o mpeg3video.o >/dev/null 2>&1 make[5]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video/libmpeg32/video' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video/libmpeg32' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1' make: *** [all] Error 2 !!! ERROR: media-video/mpeg4ip-1.1 failed. !!! Function src_compile, Line 51, Exitcode 2 !!! make failed
@reporter: > distcc[1239] ERROR: compile /root/.ccache/bitstrm.tmp.poe.1235.ii on localhost failed ... > distcc 2.14 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] > ccache version 2.3 [enabled] have you tried disable ccache *and* distcc?
No love with ccache and distcc switched off. I was able to build this on my laptop at work, but I'm not sure what is different between it and my desktop here at home. Pretty much keep everything updated at the same time.
I can reproduce this one... you are still having the bug try adding sed -i 's:-Werror::g' configure into the ebuild just after th-Wmissing-prototypes sed it might help... Btw, I just updated the 1.1 ebuild in the tree
Oliver's trick worked! One odd note. I had to emerge --nodeps as the mpeg4ip ebuild was complaining about faad2 as a blocker. This was on my desktop. On my laptop I have faad2-2.0-r1 installed as well as mpeg4ip-1.1.
alright, this fix is in the CVS now..