<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>51617</bug_id>
          
          <creation_ts>2004-05-21 00:04 0000</creation_ts>
          <short_desc>mpeg4ip-1.1 compile fails on huffman.cpp with error &quot;formatnot a string literal, argument types not checked&quot;</short_desc>
          <delta_ts>2004-06-08 15:23:30 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Applications</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>gregg.casillo@gmail.com</reporter>
          <assigned_to>tester@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>gregg.casillo@gmail.com</who>
            <bug_when>2004-05-21 00:04:52 0000</bug_when>
            <thetext>First, the error:

make[6]: Entering directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video/mpeg4-2000/tools/entropy&apos;
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 &quot;.deps/bitstrm.Tpo&quot; \
  -c -o bitstrm.lo `test -f &apos;bitstrm.cpp&apos; || echo &apos;./&apos;`bitstrm.cpp; \
then mv -f &quot;.deps/bitstrm.Tpo&quot; &quot;.deps/bitstrm.Plo&quot;; \
else rm -f &quot;.deps/bitstrm.Tpo&quot;; 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 &quot;.deps/huffman.Tpo&quot; \
  -c -o huffman.lo `test -f &apos;huffman.cpp&apos; || echo &apos;./&apos;`huffman.cpp; \
then mv -f &quot;.deps/huffman.Tpo&quot; &quot;.deps/huffman.Plo&quot;; \
else rm -f &quot;.deps/huffman.Tpo&quot;; 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&amp;, int) [with _Tv = double]&apos;:
/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&lt;_CharT, _OutIter&gt;::_M_convert_float(_OutIter, std::ios_base&amp;, _CharT, char, _ValueT) const [with _ValueT = double, _CharT = char, _OutIter = std::ostreambuf_iterator&lt;char, std::char_traits&lt;char&gt; &gt;]&apos;
/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&lt;_CharT, _OutIter&gt;::do_put(_OutIter, std::ios_base&amp;, _CharT, double) const [with _CharT = char, _OutIter = std::ostreambuf_iterator&lt;char, std::char_traits&lt;char&gt; &gt;]&apos;
/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&lt;_CharT, _OutIter&gt;::put(_OutIter, std::ios_base&amp;, _CharT, double) const [with _CharT = char, _OutIter = std::ostreambuf_iterator&lt;char, std::char_traits&lt;char&gt; &gt;]&apos;
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/bits/ostream.tcc:250:   instantiated from `std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(double) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;]&apos;
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&amp;, int) [with _Tv = double]&apos;:
/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&lt;_CharT, _OutIter&gt;::_M_convert_float(_OutIter, std::ios_base&amp;, _CharT, char, _ValueT) const [with _ValueT = double, _CharT = char, _OutIter = std::ostreambuf_iterator&lt;char, std::char_traits&lt;char&gt; &gt;]&apos;
/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&lt;_CharT, _OutIter&gt;::do_put(_OutIter, std::ios_base&amp;, _CharT, double) const [with _CharT = char, _OutIter = std::ostreambuf_iterator&lt;char, std::char_traits&lt;char&gt; &gt;]&apos;
/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&lt;_CharT, _OutIter&gt;::put(_OutIter, std::ios_base&amp;, _CharT, double) const [with _CharT = char, _OutIter = std::ostreambuf_iterator&lt;char, std::char_traits&lt;char&gt; &gt;]&apos;
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/bits/ostream.tcc:250:   instantiated from `std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(double) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;]&apos;
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&apos;
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&apos;
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video/mpeg4-2000&apos;
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video&apos;
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common&apos;
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1&apos;
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=&quot;x86 ~x86&quot;
AUTOCLEAN=&quot;yes&quot;
CFLAGS=&quot;-march=pentium4 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
COMPILER=&quot;gcc3&quot;
CONFIG_PROTECT=&quot;/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&quot;
CONFIG_PROTECT_MASK=&quot;/etc/gconf /etc/terminfo /etc/env.d&quot;
CXXFLAGS=&quot;-march=pentium4 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;autoaddcvs ccache distcc sandbox&quot;
GENTOO_MIRRORS=&quot;http://mirrors.tds.net/gentoo http://gentoo.mirrors.pair.com/ ftp://mirrors.tds.net/gentoo http://mirror.datapipe.net/gentoo&quot;
MAKEOPTS=&quot;-j4&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;&quot;
SYNC=&quot;rsync://rsync.gentoo.org/gentoo-portage&quot;
USE=&quot;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&quot;

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:</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo-sffubs@elsie.org.uk</who>
            <bug_when>2004-05-30 01:47:04 0000</bug_when>
            <thetext>I&apos;d just like to confirm that compilation also fails in the same place using gcc-3.2.3.

Henry</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>exonic@signuts.net</who>
            <bug_when>2004-06-01 08:43:19 0000</bug_when>
            <thetext>I am able to resolve this issue, and bug 52071 by adding:

   export CFLAGS=&quot;-L/usr/X11R6/lib&quot;
   export CXXFLAGS=&quot;-L/usr/X11R6/lib&quot;
   export LDFLAGS=&quot;-L/usr/X11R6/lib&quot;

to the src_compile function, just before &quot;local myconf&quot;, 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.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gregg.casillo@gmail.com</who>
            <bug_when>2004-06-03 11:34:28 0000</bug_when>
            <thetext>No luck for me with Sig&apos;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 &gt;/dev/null 2&gt;&amp;1
output.c: In function `mpeg3video_rgb16_mmx&apos;:
output.c:57: error: can&apos;t find a register in class `GENERAL_REGS&apos; while reloading `asm&apos;
output.c: In function `mpeg3video_ditherframe&apos;:
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 &gt;/dev/null 2&gt;&amp;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 &gt;/dev/null 2&gt;&amp;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 &gt;/dev/null 2&gt;&amp;1
make[5]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video/libmpeg32/video&apos;
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video/libmpeg32&apos;
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video&apos;
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common&apos;
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1&apos;
make: *** [all] Error 2

!!! ERROR: media-video/mpeg4ip-1.1 failed.
!!! Function src_compile, Line 51, Exitcode 2
!!! make failed</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>langthang@gentoo.org</who>
            <bug_when>2004-06-03 15:07:18 0000</bug_when>
            <thetext>@reporter:
&gt; distcc[1239] ERROR: compile /root/.ccache/bitstrm.tmp.poe.1235.ii on localhost failed
...
&gt; distcc 2.14 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
&gt; ccache version 2.3 [enabled]

have you tried disable ccache *and* distcc?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gregg.casillo@gmail.com</who>
            <bug_when>2004-06-05 02:01:10 0000</bug_when>
            <thetext>No love with ccache and distcc switched off. I was able to build this on my laptop at work, but I&apos;m not sure what is different between it and my desktop here at home. Pretty much keep everything updated at the same time.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tester@gentoo.org</who>
            <bug_when>2004-06-05 08:29:56 0000</bug_when>
            <thetext>I can reproduce this one... 
you are still having the bug try adding
sed -i &apos;s:-Werror::g&apos; configure into the ebuild just after th-Wmissing-prototypes sed
it might help... Btw, I just updated the 1.1 ebuild in the tree </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gregg.casillo@gmail.com</who>
            <bug_when>2004-06-08 14:01:50 0000</bug_when>
            <thetext>Oliver&apos;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.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>tester@gentoo.org</who>
            <bug_when>2004-06-08 15:23:30 0000</bug_when>
            <thetext>alright, this fix is in the CVS now.. </thetext>
          </long_desc>
      
    </bug>

</bugzilla>