Hi Soo-Hyun, 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). 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. 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. John On Mon, Aug 16, 2010 at 11:59 AM, Soo-Hyun Yoo wrote: > Brian, > > 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. > > Attached are the build_output.log files for atrias_sim on the first and > second Make invocations. > > 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. > > Soo-Hyun Yoo > > On Mon, Aug 16, 2010 at 11:29 AM, Brian Gerkey wrote: > >> On Sun, Aug 15, 2010 at 5:44 PM, Daniel Stonier >> wrote: >> > On 16 August 2010 09:19, Soo-Hyun Yoo wrote: >> >> 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. >> > >> > 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. >> >> This is not an area where we've focused much effort, because we'd >> prefer to get out of the business of downloading, unpacking, and >> building other people's code. Standard package managers (apt-get, >> yum, port, emerge, etc.) do that much better than we ever will. We >> strongly prefer to rely on software that can be installed by an OS >> package manager. We pull 3rdparty code into the build only as a last >> resort, often because the version available from the package manager >> is too old (but "too old" is always up for debate, and I always argue >> the side of using the older version, even if it's worse, because we >> don't take on a maintenance burden). >> >> >> 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? >> > >> > 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. >> > 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. >> > add_dependencies(robot_sim ${PROJECT_NAME}) >> >> Hmm, that shouldn't fix anything. In the following lines from the >> CMakeLists.txt, the call to target_link_libraries() causes the >> executable to depend on the library: >> >> rosbuild_add_library(${PROJECT_NAME} ${SIM_LIB}) >> rosbuild_add_executable(robot_sim src/robot_sim.cpp) >> target_link_libraries(robot_sim ${PROJECT_NAME}) >> >> There shouldn't be any missing dependencies. Can you post the build >> errors that you see on the first 'make' invocation? >> >> brian. >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users >> > > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > >