[ODE] Autotools added to UNSTABLE

Rodrigo Hernandez kwizatz at aeongames.com
Thu Apr 14 07:43:44 MST 2005

Tanguy Fautre wrote:

> You were right. By default Debian (even the unstable branch) has 
> automake 1.4, even though the packages for automake 1.6 to 1.9 are 
> available.
> I replaced the package automake by automake-1.9 (1.9.5), and now 
> everything is working great.
I'll write a note about it in INSTALL :)

> Apparently, the problem only appears when -lGL redirects the linking 
> to libGL.a.
> When redirected to NVIDIA drivers libGL.so, the problem goes away. 
> However I still suggest including -lpthread if it does not break the 
> compilation on other distros.
> The way the old ODE Makefile provides the linker -l flags, always 
> redirects to libGL.a; even if NVIDIA drivers are installed.
I added pthread to the library checks, shouldnt be a problem to anyone 
since it gets linked only if it is used.

> Actually I was refering to all the arguments (not just -g -O2). I 
> don't think any of these options affect the linker; just the compiler.
Right, but that's what autotools does (not sure exactly at which level), 
in fact the -g -O2 seem to be the deafult autoconf asigns to CFLAGS and 

> Yes, it would be better.
I did

> Now, here you'll go nuts: from what I understand you cannot use the 
> same compilation flag -O3 for every part of ODE (for optimization 
> purposes, or just as bug workarounds).
> Here is what the current Makefile of ODE does:
> - ODE is compiled with -O2
> - *except* the following files that have to be compiled with -O1 (as 
> they have been autotuned before):
>       ode/src/fastldlt.c
>       ode/src/fastlsolve.c
>       ode/src/fastltsolve.c
>       ode/src/fastdot.c
> - OPCODE cannot be compiled with -O2, but with -O1 
> (OPC_OptimizedTree.c and another unidentified module are generating 
> buggy code with -O2, see the comments in ODE makefile for more details).
> Note: I saw that in the latest CVS commit you changed -O2 to -O3. You 
> can use -O3 to compile parts of ODE that can be compiled with -O2.
> However, -O3 is a dangerous optimization flag. So I suggest you verify 
> it actually provides faster code before enabling it (there are many 
> cases where -O3 will provide slower code).
Well, this is going to be tricky, I dont know whether it is posible to 
pass separate flags to each source file, I know it is posible to pass 
different flags for each target, so I guess I better start poking things 
around, so what do you think would be a better default option while I 
figure this out?
passing -O1 o -O2 to everything? I figure -O1, but I though I should ask :)


More information about the ODE mailing list