Hi all,
I had to compile OpenSG 1.6.0 on a x86_64 system (slamd64-CURRENT or
Slackware 10.2.0 (x86_64)), gcc 3.4.4:
$ gcc -v
Reading specs from /usr/lib/gcc/x86_64-slackware-linux/3.4.4/specs
Configured with: ../gcc-3.4.4/configure --prefix=/usr --enable-shared
--enable-threads=posix --enable-__cxa_atexit --disable-checking
--with-gnu-ld --verbose --target=x86_64-slackware-linux
--host=x86_64-slackware-linux
Thread model: posix
gcc version 3.4.4
and run into some "usual" inlining problems, so I had to patch
CommonConf/common.x86_64-unknown-linux-gnu-g++.in (see attachment). I've
checked the CVS web interface at SF, and it seems this is not yet in. I've
also noticed that Dirk removed the `-m64' flag from LANG_FLAGS (so the
patch may not apply cleanly to the current CVS) is there a reason? I
believe it's necessary to have gcc compile code as 64 bit, isn't it?
Another small issue: since I compile on a dualcore system, I figured I
could save some time by running make as `make -j2 opt' etc., so that I
compile two files at the same time. The compile ran fine, but the Window*
libs (e.g. WindowGLUTLib) didn't link (and I think didn't compile
completely either.) I had to manually enter
`Builds/x86_64-unknown-linux-gnu-g++/WindowGLUTLib/' and call `make' from
there, has anyone seen such behaviour before? Without the `-j2' switch it
seems to compile/link everything correctly. Is it a dependency problem
exposed by the parallel make, or am I missing something as usual? :)
Thanks,
Akos
--- CommonConf/common.x86_64-unknown-linux-gnu-g++.in.orig 2006-05-11
20:37:10.000000000 +0200
+++ CommonConf/common.x86_64-unknown-linux-gnu-g++.in 2006-05-11
20:39:38.000000000 +0200
@@ -77,7 +77,9 @@
### Language #######################################################
-LANG_FLAGS =
+#LANG_FLAGS =
+LANG_FLAGS = --param max-inline-insns-single=15000 --param
inline-unit-growth=1000 --param large-function-growth=20000
+
#-frepo -fno-implicit-templates
COMPILER = -m64 -ansi -use_readonly_const -ftemplate-depth-100
-fPIC
@@ -88,15 +90,15 @@
endif
ifeq ($(DEBUG_VERSION), 0)
- COMP_OPTIMIZE = -O2
+ COMP_OPTIMIZE = -O3 -fexpensive-optimizations
COMP_DEBUG =
else
COMP_OPTIMIZE =
- COMP_DEBUG = -g -DOSG_DEBUG
+ COMP_DEBUG = -O1 -g -DOSG_DEBUG
endif
-CCFLAGS_EXT_OPT := -O2
-CCFLAGS_EXT_DBG := -g -DOSG_DEBUG
+CCFLAGS_EXT_OPT := -O3
+CCFLAGS_EXT_DBG := -O1 -g -DOSG_DEBUG
### Compiler Flags ################################################