Error parsing rosdep.yaml using rosdep 2 in ROS Fuerte
I upgraded to ROS Fuerte today, and was trying to get the segway_rmp
package working. I also installed the standalone rosdep tool. Following the rosdep 2 specification, I added the github location for the segway_rmp
rosdep.yaml file in /etc/ros/rosdep/sources.list.d/40-segway-rmp.list
. Is there an alternate method for using the stack rosdep.yaml file that is more appropriate?
Anyhow, rosdep where-defined ftd2xx
works correctly, where ftd2xx
is a missing dependency on my machine that segway_rmp
uses. However rosdep install segway_rmp
fails with the following message:
executing command [sudo apt-get install ]
[sudo] password for piyushk:
Reading package lists... Done
Building dependency tree
Reading state information... Done
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::compare
ERROR: the following rosdeps failed to install
apt: command [sudo apt-get install ] failed
The rosdep.yaml
file inside segway_rmp
is pasted below:
libusb:
macports: libusb
ubuntu: libusb-dev
ftd2xx:
macports: libftd2xx
ubuntu: |
if [ ! -f /usr/local/lib/libftd2xx.so ]; then
mkdir -p /tmp/ros/ros-deps/
cd /tmp/ros/ros-deps/
wget --tries=10 http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx1.0.4.tar.gz
tar xzf libftd2xx1.0.4.tar.gz
cd libftd2xx1*
MACHINE_TYPE=`uname -m`
if [ ${MACHINE_TYPE} == 'x86_64' ]; then
cd build/x86_64
else
cd build/i386
fi
sudo cp libftd2xx.so.1.0.4 /usr/local/lib
cd /usr/local/lib
sudo ln -s libftd2xx.so.1.0.4 libftd2xx.so
cd /usr/lib
sudo ln -s /usr/local/lib/libftd2xx.so.1.0.4 libftd2xx.so
cd /tmp/ros/ros-deps/libftd2xx1*
sudo cp ftd2xx.h WinTypes.h /usr/local/include/
fi
Is the bash script substitution described here no longer supported in rosdep 2 (or am I making some mistake)? Should I create a separate package that uses the download_unpack_build
script to install this dependency?
Thanks! Piyush