ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Okay I found the failure and could solve it. It turned out that the version of the yaml-cpp was important. So I downloaded the yaml-cpp0.2.6.tar.gz from http://code.google.com/p/yaml-cpp/downloads/list unpacked it and compiled it again, which unfortunatly produces the following failure message:
In file included from /home/a3_nm/TEMP/yaml-cpp/src/emitterstate.h:9:0,
from /home/a3_nm/TEMP/yaml-cpp/src/emitterstate.cpp:1:
/home/a3_nm/TEMP/yaml-cpp/src/ptr_stack.h: In member function ‘void ptr_stack<T>::push(std::auto_ptr<T>)’:
/home/a3_nm/TEMP/yaml-cpp/src/ptr_stack.h:29:20: error: ‘NULL’ was not declared in this scope
make[2]: *** [CMakeFiles/yaml-cpp.dir/src/emitterstate.cpp.o] Error 1
make[1]: *** [CMakeFiles/yaml-cpp.dir/all] Error 2
make: *** [all] Error 2
I was able to fix that by adding an #include <cstddef> to ptr_stack.h and ptr_vector.h. With this, the build succeeds and make test also succeeds.
After that I was able to proceed the installation of uvc_camera (no-rosdeps). It's working but when try $ rosmake uvc_camera --rosdep-install
it still wants/needs the yaml-cpp0.2.6 to install. How come that is still not detecting the installed yaml-cpp?
When launching the package it still complains about missing libraries (not found libyam-cpp.so.0.2). So I copied the the libyaml-cpp files from /usr/local/lib to usb/lib .
When I then launched it was saying that he has no permission to read the /dev/video0 .
I checked it with $ls -l /dev/video*
which showed me that the only rights at for the root. so I changed the group with $ sudo chown username /dev/video*
and then it worked.
Sidenote: The webcam is on the Pandaboard on /dev/video2 so you need to change the launchfile at
<param name="device" type="string" value="/dev/video0" />
to
<param name="device" type="string" value="/dev/video2" />
Edit #1: Unfortunately, the group of /dev/video changes back to root after rebooting. no idea why... But still it works and hopefully I can save someones time with this answer.
2 | No.2 Revision |
Okay I found the failure and could solve it. It turned out that the version of the yaml-cpp was important. So I downloaded the yaml-cpp0.2.6.tar.gz from http://code.google.com/p/yaml-cpp/downloads/list unpacked it and compiled it again, which unfortunatly produces the following failure message:
In file included from /home/a3_nm/TEMP/yaml-cpp/src/emitterstate.h:9:0,
from /home/a3_nm/TEMP/yaml-cpp/src/emitterstate.cpp:1:
/home/a3_nm/TEMP/yaml-cpp/src/ptr_stack.h: In member function ‘void ptr_stack<T>::push(std::auto_ptr<T>)’:
/home/a3_nm/TEMP/yaml-cpp/src/ptr_stack.h:29:20: error: ‘NULL’ was not declared in this scope
make[2]: *** [CMakeFiles/yaml-cpp.dir/src/emitterstate.cpp.o] Error 1
make[1]: *** [CMakeFiles/yaml-cpp.dir/all] Error 2
make: *** [all] Error 2
I was able to fix that by adding an #include <cstddef> to ptr_stack.h and ptr_vector.h. With this, the build succeeds and make test also succeeds.
After that I was able to proceed the installation of uvc_camera (no-rosdeps). It's working but when try $ rosmake uvc_camera --rosdep-install
it still wants/needs the yaml-cpp0.2.6 to install. How come that is still not detecting the installed yaml-cpp?
When launching the package it still complains about missing libraries (not found libyam-cpp.so.0.2). So I copied the the libyaml-cpp files from /usr/local/lib to usb/lib .
When I then launched it afterwards, it was saying that he has there is no permission to read the /dev/video0 .
I checked it with $ls -l /dev/video*
which showed me that the only rights at are for the root. so I changed the group with $ sudo chown username /dev/video*
and then it worked.
Sidenote: The webcam is on the Pandaboard on /dev/video2 so you need to change the launchfile at
<param name="device" type="string" value="/dev/video0" />
to
<param name="device" type="string" value="/dev/video2" />
Edit #1: Unfortunately, the group of /dev/video changes back to root after rebooting. no idea why... But still it works and hopefully I can save someones time with this answer.
3 | No.3 Revision |
Okay I found the failure and could solve it. It turned out that the version of the yaml-cpp was important. So I downloaded the yaml-cpp0.2.6.tar.gz from http://code.google.com/p/yaml-cpp/downloads/list unpacked it and compiled it again, which unfortunatly produces the following failure message:
In file included from /home/a3_nm/TEMP/yaml-cpp/src/emitterstate.h:9:0,
from /home/a3_nm/TEMP/yaml-cpp/src/emitterstate.cpp:1:
/home/a3_nm/TEMP/yaml-cpp/src/ptr_stack.h: In member function ‘void ptr_stack<T>::push(std::auto_ptr<T>)’:
/home/a3_nm/TEMP/yaml-cpp/src/ptr_stack.h:29:20: error: ‘NULL’ was not declared in this scope
make[2]: *** [CMakeFiles/yaml-cpp.dir/src/emitterstate.cpp.o] Error 1
make[1]: *** [CMakeFiles/yaml-cpp.dir/all] Error 2
make: *** [all] Error 2
I was able to fix that by adding an #include <cstddef> to ptr_stack.h and ptr_vector.h. With this, the build succeeds and make test also succeeds.
After that I was able to proceed the installation of uvc_camera (no-rosdeps). It's working but when try $ rosmake uvc_camera --rosdep-install
it still wants/needs the yaml-cpp0.2.6 to install. How come that is still not detecting the installed yaml-cpp?
When launching the package it still complains about missing libraries (not found libyam-cpp.so.0.2). So I copied the the libyaml-cpp files from /usr/local/lib to usb/lib /usr/lib .
When I launched it afterwards, it was saying that there is no permission to read the /dev/video0 .
I checked it with $ls -l /dev/video*
which showed me that the only rights are for the root. so I changed the group with $ sudo chown username /dev/video*
and then it worked.
Sidenote: The webcam is on the Pandaboard on /dev/video2 so you need to change the launchfile at
<param name="device" type="string" value="/dev/video0" />
to
<param name="device" type="string" value="/dev/video2" />
Edit #1: Unfortunately, the group of /dev/video changes back to root after rebooting. no idea why... But still it works and hopefully I can save someones time with this answer.