On 04/06/2012 09:33 AM, Nix wrote:
Wait for a failure, then move the errant definition up a bit. (This may require creating new header files here and there, I suppose.)
It's just code motion, not rewriting. Not hard.
That's great news! The limitation here still applies -- most of it is Greek :). I you smart guys who understand this stuff can peek at that code and come up with a cook-book recipe of what needs to more where and how to identify it, then we can educate everybody on what needs to be done.
One other note, the gcc 4.7. failures seem to affect x86_64 much worse than i686. I kicked off an i686 build last night on gcc 4.7 and it ran flawlessly until tdegames -- but then failed with an 'install' error (see Liddell's comment). Meaning the code built fine under gcc 4.7 up to that point, but then failed during 'make install' due to libtool .la problems:
libtool: relink: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/i686-pc-linux-gnu/4.6.3/../../../crti.o /usr/lib/gcc/i686-pc-linux-gnu/4.6.3/crtbeginS.o .libs/kolf.o .libs/game.o .libs/canvasitem.o .libs/ball.o .libs/newgame.o .libs/config.o .libs/scoreboard.o .libs/editor.o .libs/pluginloader.o .libs/object.o .libs/vector.o .libs/printdialogpage.o .libs/kcomboboxdialog.o .libs/kvolumecontrol.o .libs/floater.o .libs/slope.o -L/opt/trinity/lib -L/opt/tqt3/lib -L/build/pkg/opt/trinity/lib -ltdegames -lkdnssd -ltdeprint -lkio -lartskde -L/usr/lib/gcc/i686-pc-linux-gnu/4.6.3 -L/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i686-pc-linux-gnu/4.6.3/crtendS.o /usr/lib/gcc/i686-pc-linux-gnu/4.6.3/../../../crtn.o -march=i686 -mtune=generic -O2 -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z -Wl,relro -Wl,--hash-style=gnu -Wl,-soname -Wl,libkolf.so.1 -o .libs/libkolf.so.1.2.0 libtool: relink: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/i686-pc-linux-gnu/4.6.3/../../../crti.o /usr/lib/gcc/i686-pc-linux-gnu/4.6.3/crtbeginS.o .libs/kolf_dummy.o -Wl,-rpath -Wl,/opt/trinity/lib -Wl,-rpath -Wl,/opt/tqt3/lib -L/build/src/tdegames/kolf/.libs -L/build/src/tdegames/libtdegames/.libs -L/opt/trinity/lib -L/opt/tqt3/lib -L/build/pkg/opt/trinity/lib -ltdeinit_kolf -lkolf -ltdegames -lkdnssd -ltdeprint -lkio -lartskde -L/usr/lib/gcc/i686-pc-linux-gnu/4.6.3 -L/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i686-pc-linux-gnu/4.6.3/crtendS.o /usr/lib/gcc/i686-pc-linux-gnu/4.6.3/../../../crtn.o -march=i686 -mtune=generic -O2 -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z -Wl,relro -Wl,--hash-style=gnu -Wl,-soname -Wl,kolf.so -o .libs/kolf.so /build/src/tdegames/kolf/.libs/libkolf.so: file not recognized: File truncated collect2: ld returned 1 exit status libtool: install: error: relink `kolf.la' with the above command before installing it make[3]: *** [install-tdeinitLTLIBRARIES] Error 1 make[3]: *** Waiting for unfinished jobs.... libtool: install: /bin/install -c -p .libs/libkolf.so.1.2.0T /build/pkg/opt/trinity/lib/libkolf.so.1.2.0 libtool: install: (cd /build/pkg/opt/trinity/lib && { ln -s -f libkolf.so.1.2.0 libkolf.so.1 || { rm -f libkolf.so.1 && ln -s libkolf.so.1.2.0 libkolf.so.1; }; }) libtool: install: (cd /build/pkg/opt/trinity/lib && { ln -s -f libkolf.so.1.2.0 libkolf.so || { rm -f libkolf.so && ln -s libkolf.so.1.2.0 libkolf.so; }; }) libtool: install: /bin/install -c -p .libs/libkolf.lai /build/pkg/opt/trinity/lib/libkolf.la libtool: install: warning: relinking `libtdeinit_kolf.la' libtool: install: (cd /build/src/tdegames/kolf; /bin/sh /build/src/tdegames/libtool --tag CXX --mode=relink g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -fno-builtin -g3 -fno-inline -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fpermissive -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -I/usr/include/tqt -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -o libtdeinit_kolf.la -rpath /opt/trinity/lib -no-undefined -avoid-version -L/opt/trinity/lib -L/opt/tqt3/lib main.lo libkolf.la -inst-prefix-dir /build/pkg) libtool: relink: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/i686-pc-linux-gnu/4.6.3/../../../crti.o /usr/lib/gcc/i686-pc-linux-gnu/4.6.3/crtbeginS.o .libs/main.o -L/build/src/tdegames/libtdegames/.libs -L/opt/trinity/lib -L/opt/tqt3/lib -L/build/pkg/opt/trinity/lib -lkolf -ltdegames -lkdnssd -ltdeprint -lkio -lartskde -L/usr/lib/gcc/i686-pc-linux-gnu/4.6.3 -L/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i686-pc-linux-gnu/4.6.3/crtendS.o /usr/lib/gcc/i686-pc-linux-gnu/4.6.3/../../../crtn.o -march=i686 -mtune=generic -O2 -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z -Wl,relro -Wl,--hash-style=gnu -Wl,-soname -Wl,libtdeinit_kolf.so -o .libs/libtdeinit_kolf.so libtool: install: /bin/install -c -p .libs/libtdeinit_kolf.soT /build/pkg/opt/trinity/lib/libtdeinit_kolf.so libtool: install: /bin/install -c -p .libs/libtdeinit_kolf.lai /build/pkg/opt/trinity/lib/libtdeinit_kolf.la libtool: install: warning: remember to run `libtool --finish /opt/trinity/lib' make[3]: Leaving directory `/build/src/tdegames/kolf' make[2]: *** [install-am] Error 2 make[2]: Leaving directory `/build/src/tdegames/kolf' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory `/build/src/tdegames/kolf' make: *** [install-recursive] Error 1