# problems installing libdc1394v2

Hello everyone. I am new to ROS and am currently working on getting the Bumblebee2 node (By Soonhac Hong, source: http://cu-ros-pkg.googlecode.com/svn/... ) to work properly in Ubuntu 10.10 for my Pt grey Bumblebee2 stereo camera . When I use rosmake to build the bumblebee2 package I am consistently getting an error:

" Failed to invoke /opt/ros/cturtle/ros/bin/rospack deps-manifests bumblebee2

[rospack] couldn't find dependency [libdc1394v2] of [bumblebee2]

[rospack] missing dependency "

This results in a successful build of 5 packages with one failure...

So I I tried installing libdc1394v2 as per instructions on the distributor's website... I am still having the same problem.

If it isn't already obvious, I am also quite new to Ubuntu and I'm not even certain if I am installing this package properly. I followed the instructions, any idea why I am still having problems launching this node? I apologize if I sound like a complete idiot here, I am very eager to learn more but I am at a loss as to what I need to do to educate myself. I feel like it may be my lack of Ubuntu knowledge and not a lack of ROS knowledge that is holding me back.

I have attempted to run the camera using coriander... I receive an error that states that it does not detect any camera connected to the bus. The camera works properly in a Windows environment.

Any help is appreciated! Thanks

UPDATE:

Following the instructions of user joq, I edited the manifest.xml file in the bumblebee2 package and created a rosdep.yaml files with gedit. I am now getting a new error:

" ros@ros-SG45:~$rosdep install bumblebee2 Failed to find stack for package [libdc1394-dev] Failed to load rosdep.yaml for package [libdc1394-dev]:Cannot locate installation of package libdc1394-dev: [rospack] couldn't find package [libdc1394-dev]. ROS_ROOT[/opt/ros/cturtle/ros] ROS_PACKAGE_PATH[/home/ros/bumblebee2:/opt/ros/cturtle/stacks] executing this script: set -o errexit No Packages to install " I was under the impression that the ros-cturtle-camera-drivers were installed when I installed the ROS + base version in the first place. If this is incorrect, then how do I determine if these drivers are already installed / how do I install them? If ros-cturtle-camera-drivers were the name of a package I would know what to do, but it isn't (as far as my search has told me) so I'm not sure what software you are referring to specifically. I have gone through all of the bus permission troubleshooting per joq's advice as well, to no avail. The camera still is not working with coriander, and I also tried it using Kino. No luck. However, I was presented with another issue when attempting to add a raw1394 specific udev rule, as described at ( https://help.ubuntu.com/community/Fir... ): " ros@ros-SG45:~$ modprobe -r raw1394 && modprobe raw1394

FATAL: Error removing raw1394 (/lib/modules/2.6.35-25-generic-pae/kernel/drivers/ieee1394/raw1394.ko): Operation not permitted "

I'm just running ...

edit retag close merge delete

Sort by » oldest newest most voted

Maybe there is a newer version of the bumblebee2 package, I don't know.

That dependency is now out of date. There does still exist a libdc1394v2 package in camera_drivers_experimental, but it is no longer maintained. You may be able to download and compile that package from SVN, but I do not recommend it.

The simplest solution is probably to replace the <depend package="libdc1394v2"/> in the package manifest with a <rosdep name="libdc1394-dev"/>. To resolve that dependency either install ros-cturtle-camera-drivers or else create a rosdep.yaml in that package with these stanzas:

libraw1394-dev:
ubuntu: libraw1394-dev
fedora: libraw1394-devel

libdc1394-dev:
ubuntu: libdc1394-22-dev
arch: libdc1394
fedora: libdc1394-devel
macports: libdc1394


Your problem with coriander is most likely a common Ubuntu device permissions problem. See: bus permissions troubleshooting.

If you need more details, post a follow-on comment.

[Edit: responses to follow-on questions posted as an "answer"]

If you updated the rosdep.yaml, you should no longer need the libdc1394v2 package.

The reference to <camera_info_manager/camera_info.h> is out of date (predating cturtle). The released version should include <camera_info_manager/camera_info_manager.h>, which is part of the camera_drivers stack in cturtle (moved to image_common in diamondback). I think you have that already.

The dependencies on camera_info_manager are package dependencies, they use the <depends> tag in the manifest.xml, not <rosdep>. The (obsolete) camera_info.h does not belong in the include file of the bumblebee2 package.

You are correct that the inability of Ubuntu to find your camera is a separate problem.

more

Thank you so much for the help! Following your instruction, I edited the manifest and created the rosdep.yaml files in a text editor with your code. I am now getting a new error which I have described in an update to my original questions.
( 2011-02-27 06:02:35 -0600 )edit

Hi, I also face this problem which take me a long time. and I find a solution which can solve it. Just like joq, while I give the details about it. and I reference to Soonhac Hong

and I paste his below for more people:

Quick set of simple patches to make your code compile against C-turtle:

Index: manifest.xml
===================================================================
--- manifest.xml    (revision 17)
+++ manifest.xml    (working copy)
@@ -11,7 +11,7 @@
<depend package="tf"/>
<depend package="camera_info_manager"/>
<depend package="dynamic_reconfigure"/>
- <depend package="libdc1394v2"/>
+ <rosdep name="libdc1394-dev"/>
</package>

Index: src/bumblebee2.cpp
===================================================================
--- src/bumblebee2.cpp    (revision 17)
+++ src/bumblebee2.cpp    (working copy)
@@ -52,7 +52,7 @@
#include <sensor_msgs/CameraInfo.h>
#include <sensor_msgs/image_encodings.h>
#include <tf/transform_listener.h>
-#include <camera_info_manager/camera_info.h>
+#include <camera_info_manager/camera_info_manager.h>
#include <image_transport/image_transport.h>
#include <dynamic_reconfigure/server.h>
#include <dynamic_reconfigure/SensorLevels.h>
Index: src/dev_camera1394.cpp
===================================================================
--- src/dev_camera1394.cpp    (revision 17)
+++ src/dev_camera1394.cpp    (working copy)
@@ -34,6 +34,7 @@
#include <stdint.h>
#include <sensor_msgs/image_encodings.h>
+#include <dc1394/dc1394.h>
#include "bumblebee2.h"
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt    (revision 17)
+++ CMakeLists.txt    (working copy)
@@ -33,6 +33,6 @@
#rosbuild_link_boost(${PROJECT_NAME} thread) #rosbuild_add_executable(example examples/example.cpp) -#target_link_libraries(example${PROJECT_NAME})
+rosbuild_add_executable(${PROJECT_NAME} src/bumblebee2.cpp src/dev_camera1394.cpp) -rosbuild_add_executable(${PROJECT_NAME} src/bumblebee2.cpp
src/dev_camera1394.cpp)

more

This answer was accidentally flagged as "offensive". It is not. We are still trying to figure out how to remove that marker. Sorry for the confusion.
( 2011-03-03 00:12:43 -0600 )edit
Yeah, and thanks a lot to u.
( 2011-03-03 11:05:39 -0600 )edit

Okay, I got a little further with the issue- enough so that I can call this an answer to my original question.

The answer is actually pretty silly; I did not install libdc1394v2 correctly (I guess?). I just tried building it again and libdc1394v2 seemed to build properly. Then, when I tried to build the bumblebee2 package, I noticed that the failure was associated with a file called "camera_info.h" This is part of the camera_info_manager package, which was not anywhere on my computer. Something is up with the dependencies (rosdep.yaml right?) of THAT package (or I just don't know what I'm doing I suppose) because rosdep did not work when I attempted to install the camera_info_manager dependencies. So when attempting to build camera_info_manager using rosmake I received an error about a file in the "sensor_msgs" package... which I found out was not installed either. After properly installing sensor_msgs and camera_info_manager, then making a copy of camera_info.h and placing it in the include folder in the bumblebee2 package (this seemed to be the only way it could find it; I tried leaving it in camera_info_manager/include to no avail) and editing bumblebee.cpp so that it could find camera_info.h in its include folder, I received what seems to be a much more benign message regarding ROS's inability to find a camera. Considering this is a very different problem than my initial one, I will post it as a new question and call this one answered.

Condensed answer: Make sure sensor_msgs and camera_info_manager is installed, and make sure camera_info.h is findable when building the bumblebee2 package (you can edit where bumblebee.cpp is trying to find this file by editing bumblebee.cpp, line 55)

more