Re: [ros-users] Enabling double precision and finding librar…

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: John Hsu
Date:  
To: ros-users
Subject: Re: [ros-users] Enabling double precision and finding libraries in ODE
Hi Soo-Hyun,


On Mon, Aug 16, 2010 at 4:32 PM, Soo-Hyun Yoo <> wrote:

> Hi John,
>
> We used ODE in our non-ROS code by having the following in our Makefile: "-I
> ${ODE_PATH}include/ -l ode -L ${ODE_PATH}drawstuff/src/.libs/ -l drawstuff
> ".
>
> It may or may not be helpful for you to know that robot_sim.h has "#include
> <drawstuff/drawstuff.h>" explicitly stated. Is this correct usage? To remove
> Make's complaint that it could not find the header file, I copied
> drawstuff.h and version.h to /path/to/opende/opende/include/drawstuff. Is
> this what you meant by "installing them into the ros install directories
> (opende/opende/*)" ?
>


yes, installing includes under opende/opende/include/drawstuff and
libdrawstuff.* under opende/opende/lib


>
> Sorry, I missed one more flag, *--disable-demos *should be replaced by *
>> --enable-demos* in order for drawstuff library to be built. It seems the
>> two error logs you've sent are both failing at finding the drawstuff
>> library, the above change should fix it (but again, you'll have to trigger a
>> re-configure in opende by make clean or equivalent).
>>
>
> I flipped that flag to --enable-demos as you described and saw that
> libdrawstuff.la was built in
> build/opende_1730_patched_with_damping/drawstuff/src/. However, even after
> a full recompilation of opende, Make complains: "/usr/bin/ld: cannot find
> -ldrawstuff". I have attached the output log.
>
> Also, the output of /path/to/opende/opende/bin/ode-config is the
> following:
>
> -I/home/yoos/devel/ros/stacks/physics_ode/opende/opende/include -DdDOUBLE
> -Wl,-rpath,/home/yoos/devel/ros/stacks/physics_ode/opende/opende/lib
> -L/home/yoos/devel/ros/stacks/physics_ode/opende/opende/lib -lode
>
>
> Shouldn't -ldrawstuff be in there somewhere?
>


you're right, ode-config needs additional modifications for this to work
without the above exporting step. Alternatively, you could use the flags
exported by rospack (e.g. rospack cflags-only-I opende, etc.) if you've made
the modifications to the opende manifest.xml as I suggested in the earlier
email.


>
> Also I would like to note that drawstuff is considered to be part of ODE
>> demo and not part of the dynamics engine library, so it's not officially
>> exported into the ODE installation directories. If it's extremely useful,
>> we can consider exporting the c++ flags or simply installing them into the
>> ros install directories (opende/opende/*) by default as well. Please ticket
>> me on it.
>>
>
> I apologize for my lack of insight into our code, but I do not know what
> drawstuff is actually used for in robot_sim, as I did not write it. I will,
> however, look into it, and if it seems useful enough, submit a ticket.
>


great! I'll wait to add these changes.


>
> As Brian mentioned, there's no plans to customize builds for 3rd party
>> packages under ROS for now. Would it be sufficient to make ODE compile
>> with double precision by default? I've been meaning to switch it over as
>> the gains at keeping things float on most modern computers are less
>> significant. As for drawstuff, if its a dependency of atrias_sim, I can
>> enable the demos build by default as well. Please see changes in r31755.
>> If there are no objections, the changes should be included in the next
>> physics_ode release.
>
>
> It would indeed be nice if double precision and the demos were enabled by
> default---thank you!
>


changes in trunk awaiting release.

thanks.
John


>
> Soo-Hyun Yoo
>
> _______________________________________________
> ros-users mailing list
>
> https://code.ros.org/mailman/listinfo/ros-users
>
>