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

How to fix unhandled SB-INT:SIMPLE-FILE-ERROR in roslisp

asked 2011-09-03 00:41:08 -0600

sam gravatar image

I followed roslisp tutorials.

I rosmake success and also run roscore. Then I tried to rosrun.

rosrun roslisp_tutorials/bin/talker

 sam@/opt/ros/diamondback/stacks/roslisp_support/roslisp_tutorials$ rosrun      roslisp_tutorials/bin/talker
 Usage: rosrun PACKAGE EXECUTABLE [ARGS]
   rosrun will locate PACKAGE and try to find
   an executable named EXECUTABLE in the PACKAGE tree.
   If it finds it, it will run it with ARGS.

 sam@/opt/ros/diamondback/stacks/roslisp_support/roslisp_tutorials$

I guess it should be the following instruction,but also not works.

rosrun roslisp_tutorials talker

 sam@/opt/ros/diamondback/stacks/roslisp_support/roslisp_tutorials$ rosrun      roslisp_tutorials talker 
 unhandled SB-INT:SIMPLE-FILE-ERROR in thread #<SB-THREAD:THREAD
                                                "initial thread"      RUNNING
                                                {1002AFC911}>:
   Couldn't load
        #P"/tmp/buildd/ros-diamondback-roslisp-support-0.2.11/debian/ros-diamondbac     k-roslisp-support/opt/ros/diamondback/stacks/roslisp_support/roslisp_tutorials/     bin/talker.lisp":
   file does not exist.

 0: (SB-DEBUG::MAP-BACKTRACE #<CLOSURE (LAMBDA #)      {1002B08B99}>)[:EXTERNAL]
 1: (BACKTRACE 128 #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDERR*      {1000159B51}>)
 2: (SB-DEBUG::DEBUGGER-DISABLED-HOOK
     #<SB-INT:SIMPLE-FILE-ERROR "~@<Couldn't load ~S: file does not      exist.~@:>"
       {1002B03191}>
     #<unavailable argument>)
 3: (SB-DEBUG::RUN-HOOK
     *INVOKE-DEBUGGER-HOOK*
     #<SB-INT:SIMPLE-FILE-ERROR "~@<Couldn't load ~S: file does not      exist.~@:>"
       {1002B03191}>)
 4: (INVOKE-DEBUGGER
     #<SB-INT:SIMPLE-FILE-ERROR "~@<Couldn't load ~S: file does not      exist.~@:>"
       {1002B03191}>)
 5: (ERROR SB-INT:SIMPLE-FILE-ERROR)[:EXTERNAL]
 6: (LOAD
          #P"/tmp/buildd/ros-diamondback-roslisp-support-0.2.11/debian/ros-diamondbac     k-roslisp-support/opt/ros/diamondback/stacks/roslisp_support/roslisp_tutorials/     bin/talker.lisp")[:EXTERNAL]
 7: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS
     ((:LOAD
       .      "/tmp/buildd/ros-diamondback-roslisp-support-0.2.11/debian/ros-diamondback-     roslisp-support/opt/ros/diamondback/stacks/roslisp_support/roslisp_tutorials/bi     n/talker.lisp")))
 8: (SB-IMPL::TOPLEVEL-INIT)
 9: ((LABELS SB-IMPL::RESTART-LISP))

 unhandled condition in --disable-debugger mode, quitting

 sam@/opt/ros/diamondback/stacks/roslisp_support/roslisp_tutorials$

How to fixed it?

Thank you~

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted
2

answered 2011-09-05 03:51:09 -0600

Lorenz gravatar image

This is a bug in roslisp script generation. I will have a look into it.

A quick fix would be to use roslisp_tutorials from source. If you already created the ~/cram-ros overlay as explained in this question, you just need to do the following:

cd ~/cram-ros/workspace
svn co https://code.ros.org/svn/ros/stacks/roslisp_support/tags/diamondback/roslisp_tutorials roslisp_tutorials
rosmake roslisp_tutorials

Then, rosrun roslisp_tutorials talker should work.

edit flag offensive delete link more

Comments

This overlay thing and source installed roslisp_tutorials (electric version) instead of bundled one do the work. Thank you!

130s gravatar image 130s  ( 2012-04-01 09:35:35 -0600 )edit
0

answered 2011-09-21 00:10:37 -0600

Sanxano gravatar image

updated 2011-09-21 00:12:10 -0600

I have de same problem in electric distribution.

That solutions is not good!!

edit flag offensive delete link more

Comments

Did you create the overlay correctly? What's the output of `rospack find roslisp_tutorials`?
Lorenz gravatar image Lorenz  ( 2011-09-21 00:20:31 -0600 )edit
0

answered 2014-04-03 03:10:31 -0600

LovedByJesus gravatar image

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!

edit flag offensive delete link more

Question Tools

Stats

Asked: 2011-09-03 00:41:08 -0600

Seen: 1,791 times

Last updated: Apr 03 '14