acowley / roshask

Haskell client library for the ROS robotics framework.
BSD 3-Clause "New" or "Revised" License
107 stars 18 forks source link

cabal: find requirement ROS-std-msgs #12

Closed ashgti closed 13 years ago

ashgti commented 13 years ago

When I try to build the example's, in this case Turtle, cabal fails to find ROS-std-msgs.

How to reproduce: On a fresh install of Ubuntu 11.04 with haskell-platform installed via ppa (for haskell-platform 2011.2) and ros-electric-desktop-full installed as well.

$ cd roshask/Examples/Turtle $ rosmake ... [ rosmake ] All 28 linesurtle: 7.8 sec ] [ 1 Active 15/16 Complete ] {------------------------------------------------------------------------------- mkdir -p bin cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=rospack find rosbuild/rostoolchain.cmake .. [rosbuild] Building package Turtle [rosbuild] Including /opt/ros/electric/stacks/ros_comm/clients/rospy/cmake/rospy.cmake [rosbuild] Including /opt/ros/electric/stacks/ros_comm/clients/roslisp/cmake/roslisp.cmake [rosbuild] Including /opt/ros/electric/stacks/ros_comm/clients/cpp/roscpp/cmake/roscpp.cmake -- Configuring done -- Generating done -- Build files have been written to: /home/john/roshask/Examples/Turtle/build cd build && make -l1 make[1]: Entering directory /home/john/roshask/Examples/Turtle/build' make[2]: Entering directory/home/john/roshask/Examples/Turtle/build' make[3]: Entering directory /home/john/roshask/Examples/Turtle/build' make[3]: Leaving directory/home/john/roshask/Examples/Turtle/build' make[3]: Entering directory /home/john/roshask/Examples/Turtle/build' Resolving dependencies... cabal: cannot configure ROS-turtlesim-msgs-0.1.0. It requires ROS-std-msgs -any There is no available version of ROS-std-msgs that satisfies -any Generating package /opt/ros/electric/stacks/ros_tutorials/turtlesim roshask: Building messages for turtlesim failed make[3]: *** [CMakeFiles/roshask] Error 1 make[3]: Leaving directory/home/john/roshask/Examples/Turtle/build' make[2]: * [CMakeFiles/roshask.dir/all] Error 2 make[2]: Leaving directory `/home/john/roshask/Examples/Turtle/build' make[1]: * [all] Error 2 make[1]: Leaving directory`/home/john/roshask/Examples/Turtle/build' -------------------------------------------------------------------------------} [ rosmake ] Output from build of package Turtle written to: [ rosmake ] /home/john/.ros/rosmake/rosmake_output-20110928-225957/Turtle/build_output.log [rosmake-0] Finished <<< Turtle [FAIL] [ 7.86 seconds ]
[ rosmake ] Halting due to failure in package Turtle. [ rosmake ] Waiting for other threads to complete. [ rosmake ] Results:
[ rosmake ] Built 16 packages with 1 failures.
[ rosmake ] Summary output to directory
[ rosmake ] /home/john/.ros/rosmake/rosmake_output-20110928-225957

acowley commented 13 years ago

I pushed a fix for the missing dependency in the Turtle example. When in a package directory (e.g. Turtle), run "roshask dep" to build and install packages defining the message types. After that, "cabal install" should build the executables and put them in Turtle/bin.

Thanks for the report; let me know if the problem persists or you encounter any other trouble!

Anthony

ashgti commented 13 years ago

That worked for me, thanks. Btw, I used ghc 7.0.4 on OS X 10.7 if your curious.