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

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 close merge delete

Sort by » oldest newest most voted

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.

more

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

( 2012-04-01 09:35:35 -0500 )edit

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!

more

I have de same problem in electric distribution.

That solutions is not good!!

more

Did you create the overlay correctly? What's the output of rospack find roslisp_tutorials?
( 2011-09-21 00:20:31 -0500 )edit