[ros-users] Enabling double precision and finding libraries in ODE

John Hsu johnhsu at willowgarage.com
Mon Aug 16 23:52:53 UTC 2010


Hi Soo-Hyun,


On Mon, Aug 16, 2010 at 4:32 PM, Soo-Hyun Yoo <yoos117 at gmail.com> 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
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20100816/98b30344/attachment-0003.html>


More information about the ros-users mailing list