Brian,<div><br></div><div>I have installed C Turtle and included the lines John gave in the manifest.xml of package "opende," though they did not seem to have any effect.<br><div><br></div><div>Attached are the build_output.log files for atrias_sim on the first and second Make invocations.</div>


<div><br></div><div>Do you think using third-party dependencies will be a dead end in the long run? I will soon try using the system installation of ODE instead of the one provided by ROS since the system-wide ODE installation currently compiles with our non-ROS code.</div>


<div><br></div><div>Soo-Hyun Yoo</div><div><br><div class="gmail_quote">On Mon, Aug 16, 2010 at 11:29 AM, Brian Gerkey <span dir="ltr"><<a href="mailto:gerkey@willowgarage.com" target="_blank">gerkey@willowgarage.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On Sun, Aug 15, 2010 at 5:44 PM, Daniel Stonier <<a href="mailto:d.stonier@gmail.com" target="_blank">d.stonier@gmail.com</a>> wrote:<br>



</div><div>> On 16 August 2010 09:19, Soo-Hyun Yoo <<a href="mailto:yoos117@gmail.com" target="_blank">yoos117@gmail.com</a>> wrote:<br>
</div><div>>> First, how do I customize how ROS packages are built? ODE builds<br>
>> successfully in single precision, but this will be problematic later on. I<br>
>> tried uncommenting "--enable-double-precision" in the "Makefile.ode.tarball"<br>
>> file in the opende package directory to no effect.<br>
><br>
> I'd love a way to customise them too - bit like gentoo with its USE flags.<br>
> Not really possible at the moment though. Not sure if they have plans in<br>
> that direction either. Anyway, its not a really big problem. I usually<br>
> simply fork a package, sometimes even share resources (cmake files) betwen<br>
> the packages so I'm not creating redundancies. We did this with opencv at<br>
> our company to create an embedded version of opencv without all the gui<br>
> components.<br>
<br>
</div>This is not an area where we've focused much effort, because we'd<br>
prefer to get out of the business of downloading, unpacking, and<br>
building other people's code.  Standard package managers (apt-get,<br>
yum, port, emerge, etc.) do that much better than we ever will.  We<br>
strongly prefer to rely on software that can be installed by an OS<br>
package manager.  We pull 3rdparty code into the build only as a last<br>
resort, often because the version available from the package manager<br>
is too old (but "too old" is always up for debate, and I always argue<br>
the side of using the older version, even if it's worse, because we<br>
don't take on a maintenance burden).<br>
<div><br>
>> Third, I should mention that I am new to CMake and suspect that my<br>
>> CMakeLists.txt is incorrect. I get make errors the first time I build<br>
>> atrias_sim but they disappear on the second build. This makes me suspect<br>
>> that I am incorrectly specifying the libraries for the atrias_sim<br>
>> executable. Could someone more experienced with CMake please verify this?<br>
><br>
> You are building a library and an executable. CMake and RoS are probably<br>
> using parallel jobs in which case it tries to build the library and the<br>
> exeuctable at the same time. However on the first run, the library will take<br>
> longer and so when the executable tries to link, it can't find the library.<br>
> Note that you won't be seeing this problem if your ROS_PARALLEL_JOBS is set<br>
> to 1.<br>
> To fix it, simply add the following line to your cmake and it will make sure<br>
> it will delay building the executable until after the library has been<br>
> built.<br>
> add_dependencies(robot_sim ${PROJECT_NAME})<br>
<br>
</div>Hmm, that shouldn't fix anything.  In the following lines from the<br>
CMakeLists.txt, the call to target_link_libraries() causes the<br>
executable to depend on the library:<br>
<br>
  rosbuild_add_library(${PROJECT_NAME} ${SIM_LIB})<br>
  rosbuild_add_executable(robot_sim src/robot_sim.cpp)<br>
  target_link_libraries(robot_sim ${PROJECT_NAME})<br>
<br>
There shouldn't be any missing dependencies. Can you post the build<br>
errors that you see on the first 'make' invocation?<br>
<font color="#888888"><br>
        brian.<br>
</font><div><div></div><div>_______________________________________________<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>
</div></div></blockquote></div><br>
</div></div>