[ODE] Building on MacOSX (and now Linux)
Rodrigo Hernandez
kwizatz at aeongames.com
Fri May 5 09:22:21 MST 2006
Samuli Riihonen wrote:
> I have no problems with isnanf.
> test_basket compiles (and runs) fine, so it's not a general problem
> with gcc or PPC.
>
I think it has to do with the gcc version, it compiles fine on Linux
Fedora Core 5 with Gcc 4.1.0,
but like I said, on Windows, MinGW Gcc 3.4.5 it fails.
> As to the linking problem on osx, test_chain1.c will compile if it is
> renamed to cpp.
> Linking libode.dylib will also work if the LINK -command in the
> Makefile is changed to CXXLINK.
>
I'll take a look at test_chain1.c, if it has C++ Constructs, it should
be renamed to .cpp
> I tried to understand the automake system to find out where it
> decides which linking-method to use for the said dylib, but failed
> miserably :)
>
You can just add
LINK=$(CXXLINK)
to the top of the Makefile.am in the ode/src directory and see if that
helps.
> - Samuli
>
> On 4.5.2006, at 23.41, Rodrigo Hernandez wrote:
>
>>
>> I am getting the same isnanf error on MinGW, the funny thing is that
>> configure does find the function,
>> aparently, this has to do with gcc vs g++ (configure uses gcc for it's
>> tests), it seems rather odd that gcc has
>> a function and g++ doesn't, but it seems to be so, this feels more like
>> a GCC bug than anything else.
>>
>> Nguyen Binh wrote:
>>
>>> You can write your own IEEE's compatible isNan().
>>>
>>> On 5/4/06, *Wesley Smith* <wesley.hoke at gmail.com
>>> <mailto:wesley.hoke at gmail.com>> wrote:
>>>
>>> I've had trouble with isnan on OSX before as well (in other
>>> libraries). It's available on Linux and some other OSes, but
>>> the OSX
>>> stdc++ doesn't have it.
>>>
>>> wes
>>>
>>>
>>>
>>> On 5/4/06, Ryan Gardner < ryebrye at gmail.com
>>> <mailto:ryebrye at gmail.com>> wrote:
>>>
>>>>
>>>> It's pretty darn close to just building and running on OS X out
>>>
>>> of the box
>>>
>>>> from a clean SVN checkout...
>>>>
>>>> With a little bit of tinkering, I got past my above problem...
>>>
>>> although I
>>>
>>>> don't know if it's the best workaround or not. The link error on
>>>
>>> the ODE
>>>
>>>> library was easy to get past. I just navigated to the
>>>
>>> trunk/ode/src and ran
>>>
>>>> make - then copied the gcc build command it was using - pasted
>>>
>>> it in bbedit
>>>
>>>> - changed the gcc to g++ and pasted it back into the terminal...
>>>
>>> then it
>>>
>>>> linked fine with g++ (no undefined symbol error)
>>>>
>>>> The same fix worked for the chaintest1.c file that was giving
>>>
>>> link errors.
>>>
>>>>
>>>> After getting past both of those minor bumps - the next obstacle
>>>
>>> I encounter
>>>
>>>> is in compiling test_basket.cpp:
>>>>
>>>> test_basket.cpp: In function 'void nearCallback(void*, dxGeom*,
>>>
>>> dxGeom*)':
>>>
>>>> test_basket.cpp:86: error: 'isnanf' was not declared in this scope
>>>> test_basket.cpp:87: error: 'isnanf' was not declared in this scope
>>>> test_basket.cpp:88: error: 'isnanf' was not declared in this scope
>>>> test_basket.cpp: In function 'void simLoop(int)':
>>>> test_basket.cpp:179: error: 'isnanf' was not declared in this scope
>>>> test_basket.cpp:183: error: 'isnanf' was not declared in this scope
>>>>
>>>> I think that isnanf is not implemented on PPC processors - but I
>>>
>>> may be
>>>
>>>> wrong.
>>>>
>>>> To avoid the error, I commented out those lines (they were
>>>
>>> assertions...)
>>>
>>>>
>>>> After that - the entire make process would run fine. (Although
>>>
>>> If I made
>>>
>>>> clean and then tried to make - I would have to manually re-link
>>>
>>> it with g++
>>>
>>>> at each of the sticking points, because I didn't edit any of the
>>>
>>> makefiles)
>>>
>>>>
>>>> The tests don't find the DYlibs if the odelib isn't installed...
>>>>
>>>> To get the tests to run correctly - I did 'sudo make install'...
>>>
>>> After that
>>>
>>>> - the tests run and the thing builds correctly.
>>>>
>>>> I'm not playing around with the buggy... Yipee!
>>>>
>>>> Ryan
>>>>
>>>>
>>>> ----------
>>>>
>>>> "You tried your best and you failed miserably. The lesson is
>>>
>>> 'never try'."
>>>
>>>>
>>>>
>>>>
>>>>
>>>> Homer Simpson
>>>>
>>>> On May 4, 2006, at 12:06 AM, Samuli Riihonen wrote:
>>>>
>>>> Hello...
>>>> One glitch.
>>>> Would you please change ifdef in drawstuff/src/drawstuff.cpp to be:
>>>>
>>>> #ifdef HAVE_APPLE_OPENGL_FRAMEWORK
>>>> #include <OpenGL/gl.h>
>>>> #include <OpenGL/glu.h>
>>>> #else
>>>>
>>>> At the moment it checks against #ifdef MAC_OS_X which is not defined
>>>> (although it was before... probably too little sleep for me).
>>>> Otherwise the addition now compiles and works for me (OS X 10.4.6,
>>>> powerbook G4) with a fresh checkout + autogen.sh + configure + make
>>>>
>>>> - Samuli
>>>>
>>>> _______________________________________________
>>>> ODE mailing list
>>>> ODE at q12.org <mailto:ODE at q12.org>
>>>> http://q12.org/mailman/listinfo/ode
>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> ODE mailing list
>>> ODE at q12.org <mailto:ODE at q12.org>
>>> http://q12.org/mailman/listinfo/ode
>>>
>>>
>>>
>>>
>>> --
>>> --------------------------------------------------
>>> Binh Nguyen
>>> Computer Science Department
>>> Rensselaer Polytechnic Institute
>>> Troy, NY, 12180
>>> --------------------------------------------------
>>>
>>> ---------------------------------------------------------------------
>>> ---
>>>
>>> _______________________________________________
>>> ODE mailing list
>>> ODE at q12.org
>>> http://q12.org/mailman/listinfo/ode
>>>
>>>
>>
>> _______________________________________________
>> ODE mailing list
>> ODE at q12.org
>> http://q12.org/mailman/listinfo/ode
>
>
>
More information about the ODE
mailing list