GCC4.6
Common issues with GCC-4.6 / G++-4.6
GCC-4.6 is again more strict, introduces new warnings, and lets packages fail to build, which did succeed to build with earlier GCC versions.
Warnings
Warning format
Every warning has the option which did produce the warning appended to the warnings, e.g.
FAILURE: warning diffs: 1c1 < #warning undefining SECOND due to option name conflict [-Wcpp] --- > #warning undefining SECOND due to option name conflict FAIL: cond.test
New warning -Wunused-but-set-variable
This triggers a lot:
uuid_gen_unix.c:62:20: error: variable 'tv' set but not used [-Werror=unused-but-set-variable]
Either fix it, or if the package is built with -Werror, add as a workaround: -Wno-error=unused-but-set-variable
C++
NULL not defined
../build/include/apt-pkg/weakptr.h:58:26: error: 'NULL' was not declared in this scope
Fix: #include <cstdlib> is missing.
ptrdiff_t does not name a type
/usr/include/sigc++-2.0/sigc++/signal.h:38:11: error: 'ptrdiff_t' does not name a type
Fix: #include <cstddef>
size_t does not name a type
djvulibre:
GSmartPointer.h:497:30: error: 'size_t' does not name a type
Fix: #include <cstddef>
Linker
-z syms unknown
ld.gold doesn't know about -z syms.
d-conf:
CCLD libdconfsettings.so gcc: error: unrecognized option '-avoid-version'
gcc kerneloops.o submit.o dmesg.o configfile.o -Wl,--as-needed `pkg-config --libs glib-2.0 dbus-glib-1` `curl-config --libs` -Wl,"-z relro" -Wl,"-z now" -o kerneloops /usr/bin/ld.gold: relro: unknown -z option /usr/bin/ld.gold: use the --help option for usage information collect2: ld returned 1 exit status
GCC4.6 (last edited 2011-01-19 17:03:57 by dsl081-060-235)