ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Here is a quite straight solution that worked for me. It is meant to be quick and temporary, just for being able to execute the tutorials. :-)

The Problem

The origin of the error above is the false scripted path:

#P"/tmp/buildd/ros-diamondback-roslisp-support-0.2.11/debian/ros-diamondback-roslisp-support/opt/ros/diamondback/stacks/roslisp_support/roslisp_tutorials/bin/talker.lisp"

This path is trying to access the file talker.lisp of our roslisp-tutorial package. The right path should begin in the folder /opt. That is, the right path in this case should actually be:

/opt/ros/diamondback/stacks/roslisp_support/roslisp_tutorials/bin/

The Solution

Therefore my solution is: go and correct this false path by hand in the batch file where it is located. In the example above the rosrun instruction is

rosrun roslip_tutorials talker

That means that in the package roslisp-tutorials there is a talker batch file which contains the faulty path.

Type following:

roscd roslisp-tutorials

You should end in a directory like that /opt/ros/fuerte/stacks/roslisp_support/roslisp_tutorials. In this directory you find the subdirectory /bin and inside of it all those batch files that are meant to be executed in the tutorial (talker, listener, params-example, and so on). If you open them (e.g. talker) with a text editor (attention: you will usually need root rights because these directories usually have root root access permissions :-o) you will find inside of them the false path, namely something like

  #!/bin/bash
ROSLISP_CURRENT_PACKAGE=roslisp_tutorials `\rospack find sbcl`/scripts/run-sbcl.sh --noinform --end-runtime-options --noprint --no-userinit --disable-debugger --load /tmp/buildd/ros-diamondback-roslisp-support-0.2.11/debian/ros-diamondback-roslisp-support/opt/ros/diamondback/stacks/roslisp_support/roslisp_tutorials/bin/talker.lisp --end-toplevel-options $*

Delete the false part of the path in this line, from /tmp to /ros-diamondback-roslisp-support so that at the end you have

 #!/bin/bash
    ROSLISP_CURRENT_PACKAGE=roslisp_tutorials `\rospack find sbcl`/scripts/run-sbcl.sh --noinform --end-runtime-options --noprint --no-userinit --disable-debugger --load opt/ros/diamondback/stacks/roslisp_support/roslisp_tutorials/bin/talker.lisp --end-toplevel-options $*

Save the file and YOU ARE READY to execute rosrun roslisp_tutorials talker wherever you want in your computer! :-)

You may want to do the same for the other tutorial batch files: listener and so on

I am sure there is the proper elegant way to do that [if you know it, please post it!], however messing around with the tutorial files is not such a threat for the whole ROS system ;-)

Be blessed!