Summary: | [4.2/regression] dev-libs/qof-0.7.2 compile failure w/ -O? -finline-functions | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Ed Catmur <ed> |
Component: | [OLD] Core system | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | fauli |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29478 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 162167 |
Description
Ed Catmur
2007-10-16 22:31:39 UTC
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." |