[ros-users] progress on ROS on OS X

Mark Moll mmoll at rice.edu
Sat Aug 6 19:27:56 UTC 2011


I followed the instructions to install electric turtle (http://www.ros.org/wiki/electric/Installation/OSX) on OS X 10.7. It turns out that wxWidgets/wxPython wasn’t really a problem, because the MacPorts version defaults to using gtk rather than Carbon. I also tried the 2.9 development version of wxPython and compile everything with the Cocoa backend rather than Carbon or gtk, but that seemed very unstable: many of the wxPython sample programs crashed.

I compiled all ports as 64-bit. Below are some more detailed notes. In the end rviz compiles, but crashes when I try to run it. I see the start-up window and then it dies with this trace:

	[ INFO] [1312658033.261777000]: Loading general config from [/Users/mmoll/.rviz/config]
	[ INFO] [1312658033.261972000]: Loading display config from [/Users/mmoll/.rviz/display_config]
	Reading symbols for shared libraries . done
	Reading symbols for shared libraries . done
	
	Program received signal EXC_BAD_ACCESS, Could not access memory.
	Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
	0x000000010249e7a7 in Ogre::RenderSystem::attachRenderTarget ()

Maybe there is still something wrong in the way Ogre is built/installed/linked?



* Installed Cg framework from NVIDIA in /Library/Frameworks, used install_name_tool to set rpath to /Library/Frameworks/Cg.framework


* MacPorts

  Applied patch to gtk2 port: https://trac.macports.org/ticket/30281
  Added ports for ogre and tinyxml. The ogre port does *not* include libOIS, which depends on Carbon.
  Fixed collada-dom port
  Removed assimp, eigen3, collada-dom from manifest files and installed corresponding ports.


* ROS
  rosconsole:  used g++-4.2 rather than c++ (= llvm-g++-4.2) to avoid internal compiler error

  urdf, urdf_parser, rviz:
  add "add_definitions(-DTIXML_USE_STL)" to CMakeLists.txt

  rviz:
--- src/rviz/visualizer_app.cpp	(revision 37704)
+++ src/rviz/visualizer_app.cpp	(working copy)
@@ -292,7 +292,7 @@
       // Wait for any signals
       sigfillset(&signal_set);
 
-#if defined(__WXMAC__)
+#if 1 //defined(__WXMAC__)
       int sig;
       sigwait(&signal_set, &sig);
 #else


added this to .bash_profile:
export DYLD_FALLBACK_FRAMEWORK_PATH=$DYLD_FALLBACK_FRAMEWORK_PATH:/opt/local/Library/Frameworks


-- 
Mark Moll






More information about the ros-users mailing list