if /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DPREFIX=\""/usr"\" -DDATADIR=\""/usr/share"\" -g -Werror -Wdeclaration-after-statement -Wno-pointer-sign -I/usr/include/libgda-1.2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -ggdb -O1 -O2 -O3 -pipe -march=athlon-xp -mmmx -msse -m3dnow -g2 -Wall -MT md5.lo -MD -MP -MF ".deps/md5.Tpo" -c -o md5.lo md5.c; \ then mv -f ".deps/md5.Tpo" ".deps/md5.Plo"; else rm -f ".deps/md5.Tpo"; exit 1; fi i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DPREFIX=\"/usr\" -DDATADIR=\"/usr/share\" -g -Werror -Wdeclaration-after-statement -Wno-pointer-sign -I/usr/include/libgda-1.2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -ggdb -O1 -O2 -O3 -pipe -march=athlon-xp -mmmx -msse -m3dnow -g2 -Wall -MT kvpframe.lo -MD -MP -MF .deps/kvpframe.Tpo -c kvpframe.c -o kvpframe.o >/dev/null 2>&1 make[3]: *** [kvpframe.lo] Error 1 make[3]: Leaving directory `/var/tmp/portage/dev-libs/qof-0.7.2/work/qof-0.7.2/qof' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/dev-libs/qof-0.7.2/work/qof-0.7.2/qof' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/dev-libs/qof-0.7.2/work/qof-0.7.2' make: *** [all] Error 2 * * ERROR: dev-libs/qof-0.7.2 failed. (etc.) Yes, it's sending stderr to the bit bucket. WTF. I'll fix that and then update this with the actual error.
Wow. Not only is it discarding all compiler output, it's compiling with -Wall -Werror: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DPREFIX=\"/usr\" -DDATADIR=\"/usr/share\" -g -Werror -Wdeclaration-after-statement -Wno-pointer-sign -I/usr/include/libgda-1.2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -ggdb -O1 -O2 -O3 -pipe -march=athlon-xp -mmmx -msse -m3dnow -g2 -Wall -MT kvpframe.lo -MD -MP -MF .deps/kvpframe.Tpo -c kvpframe.c -o kvpframe.o cc1: warnings being treated as errors kvpframe.c: In function ‘kvp_frame_compare’: kvpframe.c:1778: warning: passing argument 1 of ‘kvp_frame_for_each_slot’ discards qualifiers from pointer target type kvpframe.c:1786: warning: passing argument 1 of ‘kvp_frame_for_each_slot’ discards qualifiers from pointer target type I /really/ hope the code isn't as bad as the build system.
Sorry, the libtool line up at top is the wrong one, 'cos of parallel make. Should be: if /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DPREFIX=\""/usr"\" -DDATADIR=\""/usr/share"\" -g -Werror -Wdeclaration-after-statement -Wno-pointer-sign -I/usr/include/libgda-1.2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -ggdb -O1 -O2 -O3 -pipe -march=athlon-xp -mmmx -msse -m3dnow -g2 -Wall -MT kvpframe.lo -MD -MP -MF ".deps/kvpframe.Tpo" -c -o kvpframe.lo kvpframe.c; \ then mv -f ".deps/kvpframe.Tpo" ".deps/kvpframe.Plo"; else rm -f ".deps/kvpframe.Tpo"; exit 1; fi Using -j1 doesn't change anything, mind.
OK, my bad. Seems there's a gcc bug at work here, with -fPIC -dPIC preventing the compile warning/error from happening on the first compile. (Also arguably a libtool bug, but whatever). Anyway, the fix here is to pass --disable-error-on-warning to configure.
right: gcc bug is http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29478 The package is still bad, compiling with -Werror in released code, but this bug will only be hit by people compiling with gcc 4.2.x and -O -finline-functions (or -O3, etc.)
(In reply to comment #3) > Anyway, the fix here is to pass --disable-error-on-warning to configure. Or to strip -Wall and -Werror from the configure file? Think I will do that.
All -W flags are not used anymore. Closing. Reopen if you disagree.
This has been reported upstream (to not build with all those -W flags), but has been rejected: "The flags are carefully chosen and are important to the build - both for developers and packagers."