GCC switched default from -fcommon to -fno-common,
leading to the following compilation errors:
multiple definition of `argv0'
multiple definition of `display'
multiple definition of `scr'
multiple definition of `font'
multiple definition of `cnorm'
multiple definition of `csel'
multiple definition of `debugflag'
multiple definition of `debugfile'
multiple definition of `cursor'
multiple definition of `framehandler'
multiple definition of `NM'
include/stuff/util.h:109:17: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
include/stuff/util.h:109:41: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
This change fixes the following warnings:
lib/libstuff/x11/keys/parsekey.c:73:2: warning: ‘XKeycodeToKeysym’ is deprecated [-Wdeprecated-declarations]
cmd/strut/ewmh.c:23:27: warning: ‘sizeof’ on array function parameter ‘struts’ will return size of ‘Rectangle *’ {aka ‘struct Rectangle *’} [-Wsizeof-array-argument]
cmd/wmii/key.c:109:3: warning: ‘XKeycodeToKeysym’ is deprecated [-Wdeprecated-declarations]
cmd/wmii/dat.h:108:7: warning: comparison of constant ‘2’ with boolean expression is always false [-Wbool-compare]
On Ubuntu 12.04, the build was failing with the following error:
cc -o wmii9menu.out wmii9menu.o -g -ldl -L../../lib -L/usr/lib ../../lib/libstuff.a ../../lib/libregexp9.a ../../lib/libbio.a ../../lib/libfmt.a ../../lib/libutf.a /usr/local/lib/libixp.a -lXinerama -lXrender -lX11 -lXrandr
/usr/bin/ld: ../../lib/libstuff.a(xft.o): undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
/usr/bin/ld: note: 'dlsym@@GLIBC_2.2.5' is defined in DSO /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libdl.so so try adding it to the linker command line
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libdl.so: could not read symbols: Invalid operation