0
$\begingroup$

Rosanswers logo

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


Originally posted by piyushk on ROS Answers with karma: 2871 on 2012-04-26

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

http://ros.org/reps/rep-0111.html#backwards-compatibility

"Multi-line values will still be treated as bash scripts in ROS Electric. Support for this will be removed in ROS Fuerte."

So I think you should put everything in a separate script and give it another try.


Originally posted by Steven Bellens with karma: 735 on 2012-04-26

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by piyushk on 2012-04-27:
Thanks for pointing me to the REP. A bit of testing reveals that the even a single separate script will not work, as bash substitution support seems to have been removed entirely.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.