Ask Your Question
1

Does roscore on Windows need a rosout.exe in order to run?

asked 2011-08-02 21:23:37 -0500

Tarik gravatar image

updated 2014-01-28 17:10:08 -0500

ngrennan gravatar image

Hi there

I've built win_ros and get the following exes for my Windows machine. roscore.exe roscreate-stack.exe rosmaster.exe rosservice.exe rostopic.exe roscreate-pkg.exe roslaunch.exe rospack.exe rosstack.exe rosversion.exe rosxxx.exe

On Windows I set up the env vars and paths following these guidelines but when I run roscore in command prompt it crashes.

I have not yet built rosout.exe and I'm guessing that roscore cannot run without it and this is why it's crashing? Is this correct? rospack runs fine. All others crash but that's because roscore is not running. Thanks for any help

Tarik

Update: I built rosout.exe and put it in %ROS_INSTALL_ROOT%/ros/bin with all other exes, roscore still crashes

Update: I'm on XP and get a "roscore has encountered a problem" popup. If I then click Debug, it says "unhandled win32 exception occurred [192] Where should I have the roscore.xml file located? It's in %ROS_INSTALL_ROOT%\ros_comm\tools\roslaunch. Do I need to add this to the path? When running python I get: C:\ros\ros\bin>python roscore.exe File "roscore.exe", line 1 SyntaxError: Non-ASCII character '\x90' in file roscore.exe on line 1, but no en coding declared; see http://www.python.org/peps/pep-0263.html for details

Update: Sorry, think I'm being stupid here, so should I have binaries in the bin folder other than exes? i.e. other cross-compiled binaries? Do I need a python compatible roscore in order to call C:\ros\ros\bin>python roscore ( and not python roscore.exe as I did above?)

Update: I did have other binaries in the bin folder but I thought they were for linux however they may have been written over after building win_ros. So if I run python roscore, I get "ImportError: No module named rosmaster" If I run python rosmaster --core, it runs and I get a log in my log folder indicating "[rosmaster.main][INFO] 2011-08-03 15:30:33,171: Starting ROS Master Node [xmlrpc][INFO] 2011-08-03 15:30:33,171: XML-RPC server binding to 0.0.0.0 [xmlrpc][INFO] 2011-08-03 15:30:33,171: Started XML-RPC server [http://192.168.134.1:11311/] [xmlrpc][INFO] 2011-08-03 15:30:33,171: xml rpc node: starting XML-RPC server"

However, from another shell if I run python roslaunch, I get the No module name rosmaster error.

I'm wondering what is the problem now and also what is the problem with my exes?

Thanks for any help

edit retag flag offensive close merge delete

Comments

I added win_ros to the tags - it's always a good idea to include the stack name so that the right people might get notified.
AHornung gravatar image AHornung  ( 2011-08-02 23:18:30 -0500 )edit
What kind of messages are you getting in the crashes?
Daniel Stonier gravatar image Daniel Stonier  ( 2011-08-03 01:28:04 -0500 )edit
You can run roscore without rosout - see http://answers.ros.org/question/1034/roslaunch-without-rosout. That might be worth trying.
Daniel Stonier gravatar image Daniel Stonier  ( 2011-08-03 01:28:26 -0500 )edit
You can also run the programs in ros/bin without the exe's. They are just there for convenience. Simply run 'python xxx' (e.g. 'python %ROS_ROOT%/bin/roscore'). That should give you good python traces.
Daniel Stonier gravatar image Daniel Stonier  ( 2011-08-03 01:30:00 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2011-08-04 12:49:49 -0500

Daniel Stonier gravatar image

Ok, I think you have run into a bug that I accidentally introduced recently when trying to fix another big (apologies). I just stepped through the process myself again from scratch and found something awry with the PYTHONHOME variables throughout win_ros.

If you want to be sure, start again from scratch and follow the now slightly more verbose guidelines.

If you want to just skip to the chase and retry with a minimum of effort, on your linux box

> roscd win_ros; svn update
> roscd win_py2exe
> make clean; make

This will fix those exe's.

  • copy over the exe's in ROS_ROOT/bin from lin to win.
  • copy win_env/scripts/winshell.bat -> ROS_ROOT/setup.bat (some changes in here)
  • recheck your variables in setup.bat are correct

and you should be able to go. Thanks for identifying this.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2011-08-02 21:23:37 -0500

Seen: 873 times

Last updated: Aug 04 '11