tum-vision / dvo

Dense Visual Odometry
https://vision.in.tum.de/data/software/dvo
151 stars 76 forks source link

Installing dvo #1

Closed XGraphKhipu closed 11 years ago

XGraphKhipu commented 11 years ago

Hello!.

I am installing this package, but have problems in his build.

I do: roscore roscd git clone -b fuerte git://github.com/tum-vision/dvo.git rosmake dvo_core dvo_ros dvo_benchmark

But i get this:

{------------------------------------------------------------------------------- mkdir -p bin cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=rospack find rosbuild/rostoolchain.cmake .. [rosbuild] Building package dvo_ros Failed to invoke /opt/ros/fuerte/bin/rospack deps-manifests dvo_ros [rospack] Error: package/stack dvo_ros depends on non-existent package interactive_markers

CMake Error at /opt/ros/fuerte/share/ros/core/rosbuild/public.cmake:129 (message):

Failed to invoke rospack to get compile flags for package 'dvo_ros'.  Look
above for errors from rospack itself.  Aborting.  Please fix the broken
dependency!

Call Stack (most recent call first): /opt/ros/fuerte/share/ros/core/rosbuild/public.cmake:203 (rosbuild_invoke_rospack) CMakeLists.txt:12 (rosbuild_init)

-- Configuring incomplete, errors occurred! -------------------------------------------------------------------------------}

How to install the package interactive_markers?

Regards.

christiankerl commented 11 years ago

Which version of ROS are you using? have you installed the ros-fuerte-visualization package?

XGraphKhipu commented 11 years ago

Hi!. I have the ROS 1.8.11 Fuerte (I have instaled ros-fuerte-visualization - reinstalled the ROS fuerte)

I do the compilation, and get this:

mkdir -p bin cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=rospack find rosbuild/rostoolchain.cmake .. [rosbuild] Building package dvo_ros [rosbuild] Including /opt/ros/fuerte/share/roslisp/rosbuild/roslisp.cmake [rosbuild] Including /opt/ros/fuerte/share/rospy/rosbuild/rospy.cmake [rosbuild] Including /opt/ros/fuerte/share/roscpp/rosbuild/roscpp.cmake -- Eigen found (include: /usr/include/eigen3) MSG: gencfg_cpp on:dvo.cfg Finding dependencies for /root/ros_workspace/dvo/dvo_ros/cfg/dvo.cfg


load_module did not return. Unable to determine dependencies for file listed above.


Traceback (most recent call last): File "/opt/ros/fuerte/stacks/dynamic_reconfigure/cmake/gendeps", line 64, in imp.load_module("main", f, srcfile, ('.cfg', 'U', 1)) File "/root/ros_workspace/dvo/dvo_ros/cfg/dvo.cfg", line 5, in import roslib; roslib.load_manifest(PACKAGE) File "/opt/ros/fuerte/lib/python2.7/dist-packages/roslib/launcher.py", line 62, in load_manifest sys.path = _generate_python_path(package_name, _rospack) + sys.path File "/opt/ros/fuerte/lib/python2.7/dist-packages/roslib/launcher.py", line 98, in _generate_python_path packages = get_depends(pkg, rospack) File "/opt/ros/fuerte/lib/python2.7/dist-packages/roslib/launcher.py", line 51, in get_depends vals = rospack.get_depends(package, implicit=True) File "/usr/lib/pymodules/python2.7/rospkg/rospack.py", line 201, in get_depends s.update(self.get_depends(p, implicit)) File "/usr/lib/pymodules/python2.7/rospkg/rospack.py", line 201, in get_depends s.update(self.get_depends(p, implicit)) File "/usr/lib/pymodules/python2.7/rospkg/rospack.py", line 195, in get_depends names = [p.name for p in self.get_manifest(name).depends] File "/usr/lib/pymodules/python2.7/rospkg/rospack.py", line 133, in get_manifest return self._load_manifest(name) File "/usr/lib/pymodules/python2.7/rospkg/rospack.py", line 172, in _load_manifest retval = self._manifests[name] = parse_manifest_file(self.get_path(name), self._manifest_name) File "/usr/lib/pymodules/python2.7/rospkg/rospack.py", line 164, in get_path raise ResourceNotFound(name, ros_paths=self._ros_paths) rospkg.common.ResourceNotFound: catkin ROS path [0]=/opt/ros/fuerte/share/ros ROS path [1]=/root/ros_workspace ROS path [2]=/opt/ros/fuerte/share ROS path [3]=/opt/ros/fuerte/stacks CMake Error at /opt/ros/fuerte/stacks/dynamic_reconfigure/cmake/cfgbuild.cmake:66 (string): string sub-command REPLACE requires at least four arguments. Call Stack (most recent call first): /opt/ros/fuerte/stacks/dynamic_reconfigure/cmake/cfgbuild.cmake:87 (gencfg_cpp) CMakeLists.txt:34 (include)

-- Configuring incomplete, errors occurred! make: *\ [all] Error 1

christiankerl commented 11 years ago

I have the same ROS version. The error seems to be "rospkg.common.ResourceNotFound: catkin", but dvo_ros does not depend on catkin, something seems to be misconfigured

XGraphKhipu commented 11 years ago

I am installing in a new distribution of ubuntu (ros fuerte 1.8.11) and i have the this result:

git clone -b fuerte git://github.com/tum-vision/dvo.git

rosmake dvo_core dvo_ros dvo_benchmark

[ rosmake ] rosmake starting...
[ rosmake ] Packages requested are: ['dvo_core', 'dvo_ros', 'dvo_benchmark']
[ rosmake ] Logging to directory /root/.ros/rosmake/rosmake_output-20130521-132314
[ rosmake ] Expanded args ['dvo_core', 'dvo_ros', 'dvo_benchmark'] to: []
[ rosmake ] WARNING: The following args could not be parsed as stacks or packages: ['dvo_core', 'dvo_ros', 'dvo_benchmark']
[ rosmake ] ERROR: No arguments could be parsed into valid package or stack names.

christiankerl commented 11 years ago

is dvo now in your $ROS_PACKAGE_PATH?

XGraphKhipu commented 11 years ago

Hi, my ROS_PACKAGE_PATH, now have the directory of /root/ros_workspace/dvo (had not before)

export | grep ROS:

declare -x ROSLISP_PACKAGE_DIRECTORY="/opt/ros/fuerte/share/common-lisp/ros" declare -x ROS_DISTRO="fuerte" declare -x ROS_ETC_DIR="/opt/ros/fuerte/etc/ros" declare -x ROS_MASTER_URI="http://localhost:11311" declare -x ROS_PACKAGE_PATH="/usr/include/boost:/opt/ros/fuerte/share:/opt/ros/fuerte/stacks:/root/ros_workspace/dvo" declare -x ROS_ROOT="/opt/ros/fuerte/share/ros" declare -x ROS_WORKSPACE="/root/ros_workspace"

But i have this result, having to compilation:

http://pastebin.com/raw.php?i=vX4X0HgD

A problem with the boost?

Thx!.

christiankerl commented 11 years ago

can you try to add a

rosbuild_link_boost(${PROJECT_NAME} signals)

entry to the dvo_ros CMakeLists.txt (in general this should not be required)

XGraphKhipu commented 11 years ago

I add this: rosbuild_add_boost_directories() rosbuild_link_boost(${PROJECT_NAME} thread)

and get this:

[rosmake-2] Starting >>> pcl_ros [ make ]
[rosmake-2] Finished <<< pcl_ros ROS_NOBUILD in package pcl_ros
[rosmake-0] Finished <<< sophus [PASS] [ 0.51 seconds ]
[rosmake-0] Starting >>> dvo_core [ make ]
[rosmake-0] Finished <<< dvo_core [PASS] [ 0.68 seconds ]
[rosmake-0] Starting >>> dvo_ros [ make ]
[rosmake-0] Finished <<< dvo_ros [PASS] [ 1.52 seconds ]
[rosmake-0] Starting >>> dvo_benchmark [ make ]
[ rosmake ] All 15 linesvo_benchmark: 0.5 sec ] [ 1 Active 40/41 Complete ] {------------------------------------------------------------------------------- mkdir -p bin cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=rospack find rosbuild/rostoolchain.cmake .. [rosbuild] Building package dvo_benchmark [rosbuild] Including /opt/ros/fuerte/share/roslisp/rosbuild/roslisp.cmake [rosbuild] Including /opt/ros/fuerte/share/rospy/rosbuild/rospy.cmake [rosbuild] Including /opt/ros/fuerte/share/roscpp/rosbuild/roscpp.cmake CMake Error at /opt/ros/fuerte/share/ros/core/rosbuild/public.cmake:897 (target_link_libraries): Cannot specify link libraries for target "dvo_benchmark" which is not built by this project. Call Stack (most recent call first): CMakeLists.txt:28 (rosbuild_link_boost)

-- Configuring incomplete, errors occurred! -------------------------------------------------------------------------------} [ rosmake ] Output from build of package dvo_benchmark written to: [ rosmake ] /root/.ros/rosmake/rosmake_output-20130529-134243/dvo_benchmark/build_output.log [rosmake-0] Finished <<< dvo_benchmark [FAIL] [ 0.62 seconds ]
[ rosmake ] Halting due to failure in package dvo_benchmark. [ rosmake ] Waiting for other threads to complete.
[ rosmake ] Results:
[ rosmake ] Built 41 packages with 1 failures.
[ rosmake ] Summary output to directory
[ rosmake ] /root/.ros/rosmake/rosmake_output-20130529-134243
root@Gantz:~/ros_workspace#

I think I have to change the "${PROJECT_NAME} thread" for something else ...but.

christiankerl commented 11 years ago

can you replace

rosbuild_link_boost(${PROJECT_NAME} thread)

with

rosbuild_link_boost(benchmark signals)

?

XGraphKhipu commented 11 years ago

Occurred:

http://pastebin.com/raw.php?i=k8ZnLEH7

christiankerl commented 11 years ago

strange, can you please show me your dvo_benchmark/CMakeLists.txt? did you add the line after

rosbuild_add_executable(benchmark src/benchmark.cpp )

? if not you should change this

XGraphKhipu commented 11 years ago

Hi, good! I add the following lines:

rosbuild_add_boost_directories() rosbuild_add_executable(benchmark src/benchmark.cpp ) rosbuild_link_boost(benchmark signals)

And finally compiled!.

Thxs.

christiankerl commented 11 years ago

can we close this ticket?