Ask Your Question

Tarik's profile - activity

2012-09-21 16:21:03 -0500 received badge  Famous Question (source)
2012-09-21 16:21:03 -0500 received badge  Popular Question (source)
2012-09-21 16:21:03 -0500 received badge  Notable Question (source)
2012-09-07 12:18:30 -0500 received badge  Famous Question (source)
2012-09-07 12:18:30 -0500 received badge  Notable Question (source)
2012-06-20 05:06:15 -0500 received badge  Popular Question (source)
2011-08-12 15:46:05 -0500 marked best answer Does roscore on Windows need a rosout.exe in order to run?

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.

2011-08-04 12:50:02 -0500 received badge  Student (source)
2011-08-02 21:30:11 -0500 answered a question eros_qt_tutorials : link error undefined reference ros::console

OK, fixed this problem. In short, the libraries were not cross-compiled properly.

The lib.a files seemed not to have been built by the cross-compiler as when I checked their contents using nm, they looked like .so libraries. This would explain why ros::init or any ros function called in the qt program was generating a link error. I built them again, making sure the cross-compiler was being called and this time the output from nm was showing .obj contents in each lib.a, which is correct.

qtalker.exe and other exes were produced fine and they run on Windows.

T

2011-08-02 21:23:37 -0500 asked a question Does roscore on Windows need a rosout.exe in order to run?

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

2011-07-21 00:30:52 -0500 received badge  Editor (source)
2011-07-20 04:43:02 -0500 asked a question eros_qt_tutorials : link error undefined reference ros::console

Hi there

I am trying to compile the eros_qt_tutorials with the mingw cross-compiler. I get a load of undefined reference link errors and cannot find out what is missing. All the library paths are correct and the libros"blah".a files are all there.

The start of the errors is CMakeFiles/qtalker.dir/src/qnode.obj: In function QNode': /opt/ros/eros/tests/eros_qt_tutorials/qtalker/src/qnode.cpp:26: undefined reference toros::Publisher::~Publisher()' CMakeFiles/qtalker.dir/src/qnode.obj: In function ~QNode': /opt/ros/eros/tests/eros_qt_tutorials/qtalker/src/qnode.cpp:30: undefined reference toros::shutdown()'

The only clue I have and I don't know if it's related because librosconsole.a gets built anyway, but I get the error

opt/mingw/usr/i686-pc-mingw32/lib/libboost_thread-mt.a: member /opt/mingw/usr/i686-pc-mingw32/lib/libboost_thread-mt.a(thread.o) in archive is not an object collect2: ld returned 1 exit status make[3]: * [../examples/example] Error 1

when calling make in the rosconsole folder. I'm assuming this is irrelevent because it's trying to compile examples after rosconsole. However libboost_thread-mt.a is linked with for compiling eros_qt_tutorials, and looking in /opt/mingw/usr/i686-pc-ming232/lib, there are the symbolic links libboost_thread-mt.a -> /opt/mingw/usr/i686-pc-mingw32/lib/libboost_thread_win32-mt.a libboost_thread-mt-d.a -> /opt/mingw/usr/i686-pc-mingw32/lib/libboost_thread_win32-mt-d.a

libboost_thread_win32-mt.a and libboost_thread_win32-mt-d.a are both there though so I don't know what the problem is.

I am running diamondback on ubuntu lucid and have not modified the manifest.xml or any code and the mingw cross compiler is definitely getting called.

Thanks for any help

Tarik