Hi Soo-Hyun,<br><br>To compile ode in double precision, uncomment --enable-double-precision In opende/Makefile.ode.tarball.   You might have to make wipe and re-make for the changes to be effective.<br><br>With regards to drawstuff.h, drawstuff is not installed to the destination directory by default.  In the ros framework you can export it manually by by adding this flag to the cpp cflags in manifest.xml:<br>

<br>-I${prefix}/build/opende_1730_patched_with_damping/drawstuff/src<br><br>and adding:<br><br>-L${prefix}/build/opende_1730_patched_with_damping/drawstuff/src<br>-ldrawstuff<br><br>to the lflags attribute.<br>John<br>
<br><br><div class="gmail_quote">On Sun, Aug 15, 2010 at 5:44 PM, Daniel Stonier <span dir="ltr"><<a href="mailto:d.stonier@gmail.com">d.stonier@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div>Hi Soo-Hyun,</div><div><br></div><div>Added notes inbetween stuff below,<br></div><br><div class="gmail_quote"><div class="im">On 16 August 2010 09:19, Soo-Hyun Yoo <span dir="ltr"><<a href="mailto:yoos117@gmail.com" target="_blank">yoos117@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hello,<div><br></div><div>I am running ROS Box Turtle on a 64-bit Arch Linux installation. We are currently in the process of restructuring our code to run with ROS.</div>


<div><br></div><div>I am now porting over our robot simulator, which uses ODE. For several days I have been trying to get the simulator (a package I have named "atrias_sim" under the stack "ros_atrias") to compile using the "opende" package provided by ROS. I am running into two problems:</div>




<div><ol><li>The 64-bit architecture requires us to use double precision math, but I have not found an effective way of passing "--enable-double-precision" to the configure script of ODE when ROS builds it.</li>




<li>Rosmake outputs the following error when building atrias_sim: "fatal error: drawstuff/drawstuff.h: No such file or directory"</li></ol></div><div>First, how do I customize how ROS packages are built? ODE builds successfully in single precision, but this will be problematic later on. I tried uncommenting "--enable-double-precision" in the "Makefile.ode.tarball" file in the opende package directory to no effect.</div>


</blockquote><div><br></div></div><div>I'd love a way to customise them too - bit like gentoo with its USE flags. Not really possible at the moment though. Not sure if they have plans in that direction either. Anyway, its not a really big problem. I usually simply fork a package, sometimes even share resources (cmake files) betwen the packages so I'm not creating redundancies. We did this with opencv at our company to create an embedded version of opencv without all the gui components.</div>

<div class="im">
<div> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div><br></div><div>Second, what is the proper way to include packages such as ODE? For reference, I have attached some of my config files, which I modeled after those of other packages that use opende (e.g., collision_space, gazebo, and pr2_gazebo_plugins). What do I have to do for rosmake to automatically find drawstuff.h? I can manually specify the include path in /path/to/atrias_sim/CMakeLists.txt, but I hope there is a better solution, since none of the three aforementioned packages do this.</div>


</blockquote><div><br></div></div><div>If your ode ros package is exporting its headers properly, you shouldn't need to do anything except add ODE as a dependency in your manifest.xml. Just make sure the exports in the ODE package are pointing to the correct place. At the very least that will let you know how to reference drawstuff.</div>

<div class="im">
<div> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div><br></div><div>Third, I should mention that I am new to CMake and suspect that my CMakeLists.txt is incorrect. I get make errors the first time I build atrias_sim but they disappear on the second build. This makes me suspect that I am incorrectly specifying the libraries for the atrias_sim executable. Could someone more experienced with CMake please verify this?</div>




<div><br></div></blockquote></div><div>You are building a library and an executable. CMake and RoS are probably using parallel jobs in which case it tries to build the library and the exeuctable at the same time. However on the first run, the library will take longer and so when the executable tries to link, it can't find the library. Note that you won't be seeing this problem if your ROS_PARALLEL_JOBS is set to 1.</div>


<div><br></div><div>To fix it, simply add the following line to your cmake and it will make sure it will delay building the executable until after the library has been built.</div><div><br></div><div>add_dependencies(robot_sim ${PROJECT_NAME})</div>

<div class="im">
<div><br></div><div> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div>Thank you!</div><div><br></div><font color="#888888"><div>Soo-Hyun Yoo</div>

<div><br></div>
</font></blockquote><div> </div></div><div>By the way - are you korean?</div><div><br></div><div>Cheers,</div><div>Daniel Stonier</div><div class="im"><div><br>_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
<br></div></div></div><font color="#888888"><br><br clear="all"><br>-- <br>Phone : +82-10-5400-3296 (010-5400-3296)<br>Home: <a href="http://snorriheim.dnsdojo.com/" target="_blank">http://snorriheim.dnsdojo.com/</a><br>

Yujin Robot: <a href="http://www.yujinrobot.com/" target="_blank">http://www.yujinrobot.com/</a><br>
Embedded Control Libraries: <a href="http://snorriheim.dnsdojo.com/redmine/wiki/ecl" target="_blank">http://snorriheim.dnsdojo.com/redmine/wiki/ecl</a><br>
</font><br>_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
<br></blockquote></div><br>