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

Mike Shomin's profile - activity

2015-05-08 23:45:00 -0500 received badge  Famous Question (source)
2015-04-04 07:50:24 -0500 received badge  Notable Question (source)
2015-03-31 10:52:27 -0500 received badge  Enthusiast
2015-03-26 21:48:30 -0500 received badge  Popular Question (source)
2015-03-26 19:49:33 -0500 commented answer OSX indigo opencv linking problem (cv_bridge, image_view)

I'm trying for full... but I'm having to skip some thing. I really need rviz though. Through hacking, I've gotten there. Now I'm having OGRE linking problems. Tried to install ogre 1.9 through brew, but having a problem.

2015-03-26 18:25:23 -0500 commented answer OSX indigo opencv linking problem (cv_bridge, image_view)

Gotcha, looks like you just skipped that bit if opencv3. After a little opencv 3 name change in rqt_image_view, I am now up to image_proc. Did you happen to run into a missing need for libopencv_contrib.dylib?

2015-03-26 18:25:23 -0500 received badge  Commentator
2015-03-26 17:57:06 -0500 commented answer OSX indigo opencv linking problem (cv_bridge, image_view)

Thanks for the tip. Trying opencv 3 now. Seems to fix things, but also brings a new problem. image_view now complains about a missing function: /.../image_nodelet.cpp:145:35: error: use of undeclared identifier 'cvGetWindowHandle'

2015-03-26 13:54:07 -0500 asked a question OSX indigo opencv linking problem (cv_bridge, image_view)

I'm trying to install indigo from source on a mac recently upgraded to yosemite (10.10). I've had a few issued but managed to build everything up to cv_bridge. cv_bridge has a linking error with opencv:

Linking CXX shared library /.../devel_isolated/cv_bridge/lib/python2.7/site-packages/cv_bridge/boost/cv_bridge_boost.so
Undefined symbols for architecture x86_64:
  "cv::Exception::Exception(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int)", referenced from:
  NumpyAllocator::allocate(int, int const*, int, int*&, unsigned char*&, unsigned char*&, unsigned long*) in module_opencv2.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [/.../devel_isolated/cv_bridge/lib/python2.7/site-packages/cv_bridge/boost/cv_bridge_boost.so] Error 1
make[1]: *** [src/CMakeFiles/cv_bridge_boost.dir/all] Error 2
make: *** [all] Error 2

Based on some older answers, it looked like this was a libc++ vs libstdc++ issue ( http://answers.ros.org/question/95056... ), so after adding:

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -stdlib=libstdc++")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}  -stdlib=libstdc++")

cv_bridge compiled fine, as did everything up to image_view. image_view also had an opencv linking error:

Linking CXX executable /.../image_view/lib/image_view/disparity_view
Undefined symbols for architecture x86_64:
  "cv::imwrite(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, cv::_InputArray const&, std::__1::vector<int, std::__1::allocator<int> > const&)", referenced from:
... many more opencv missing symbols ...

Making the same change to CMakeLists for image_view, however, causes linking error to ros core libraries:

Linking CXX executable /.../image_view/lib/image_view/disparity_view
Undefined symbols for architecture x86_64:
  "ros::init(int&, char**, std::string const&, unsigned int)", referenced from:
  _main in disparity_view.cpp.o

I must be missing something here as it seems other people are having success with indigo on OSX. Also, just to be clear, I have opencv 2.4.5 from homebrew-science. Any help is appreciated. Thanks!

2014-03-26 11:31:03 -0500 received badge  Teacher (source)
2014-03-26 11:31:03 -0500 received badge  Self-Learner (source)
2014-03-20 18:32:28 -0500 received badge  Famous Question (source)
2013-07-18 12:54:54 -0500 received badge  Notable Question (source)
2013-06-19 06:14:10 -0500 received badge  Famous Question (source)
2013-06-19 03:00:07 -0500 received badge  Popular Question (source)
2013-05-31 15:48:00 -0500 answered a question OSX Groovy Rviz runtime error: librviz symbol not found

Ok, got it to work. I had to explicitly link librviz against the Cocoa libraries. I changed

target_link_libraries(${PROJECT_NAME}
  ${Boost_LIBRARIES}
  ${catkin_LIBRARIES}
  ${OGRE_LIBRARIES}
  ${OPENGL_LIBRARIES}
  ${QT_LIBRARIES}
  assimp
  yaml-cpp
)

in CMakeLists (in the rviz directory) to:

target_link_libraries(${PROJECT_NAME}
  ${Boost_LIBRARIES}
  ${catkin_LIBRARIES}
  ${OGRE_LIBRARIES}
  ${OPENGL_LIBRARIES}
  ${QT_LIBRARIES}
  ${rviz_ADDITIONAL_LIBRARIES}
  assimp
  yaml-cpp
)

William had defined the cocoa libraries as rviz_ADDITIONAL_LIBRARIES in the CMakeLists 2 layers up. I didn't think this should be necessary, but I just tried it and it worked. I may re-investigate to see if it's something that isn't my fault. If so, I'll submit a patch.

2013-05-31 15:34:06 -0500 commented answer OSX Groovy Rviz runtime error: librviz symbol not found

With regard to your first question, after making and installation, "rospack find rviz" yields "/opt/ros/groovy/share/rviz"

2013-05-31 15:32:19 -0500 commented answer OSX Groovy Rviz runtime error: librviz symbol not found

I built it, I just didn't include that in the pastebin, didn't think it'd be helpful. Here's the whole shebang: http://pastebin.com/JAS4KdiH

2013-05-31 14:56:17 -0500 commented answer OSX Groovy Rviz runtime error: librviz symbol not found

Output of the catkin_make: http://pastebin.com/5N9pfjAd

2013-05-31 14:41:00 -0500 commented answer OSX Groovy Rviz runtime error: librviz symbol not found

I just recompiled librviz and rviz. Same result. I also confirmed that I have the changes pointed to for tlinking against the Cocoa Framework. Also moved the /opt/... librviz dylib, so now I get: Symbol not found .../ros_catkin_ws/devel_isolated/rviz/lib/librviz.dylib

2013-05-31 14:24:37 -0500 commented answer OSX Groovy Rviz runtime error: librviz symbol not found

When I run image_view in my devel_isolated folder, it works without at hitch (and as far as I can tell, it makes the same call to GetCurrentProcess and compiles againsts librviz... I think). The Rviz I'm running is definitely the one I compiled with the full groovy install.

2013-05-31 14:14:20 -0500 commented answer OSX Groovy Rviz runtime error: librviz symbol not found

Hi William, I did explicitly install groovy to /opt/ros/groovy, and from what I can tell, I put both my rviz executable and librviz there at the same time. I don't know what other version of librviz this would be linking against. I had fuerte installed, but I don't think there are any remnants.

2013-05-31 03:08:59 -0500 asked a question OSX Groovy Rviz runtime error: librviz symbol not found

Finally got through the Groovy install in OSX 10.7. No compile errors for rviz. At runtime:

rosrun rviz rviz
[ INFO] [1370005319.743413000]: rviz version 1.9.29
[ INFO] [1370005319.743491000]: compiled against OGRE version 1.7.4 (Cthugha)
dyld: lazy symbol binding failed: Symbol not found: _GetCurrentProcess
  Referenced from: /opt/ros/groovy/lib/librviz.dylib
  Expected in: /opt/ros/groovy/lib/librviz.dylib

dyld: Symbol not found: _GetCurrentProcess
  Referenced from: /opt/ros/groovy/lib/librviz.dylib
  Expected in: /opt/ros/groovy/lib/librviz.dylib

Trace/BPT trap: 5
2013-05-30 19:16:24 -0500 commented answer OGRE linking to boost fails, OSX 10.7

As always William, you have the answers/solutions. Thanks again for all your OSX/Homebrew/Github work. Much appreciated.

2013-05-30 19:15:47 -0500 received badge  Scholar (source)
2013-05-30 19:15:42 -0500 received badge  Supporter (source)
2013-05-30 19:04:00 -0500 received badge  Notable Question (source)
2013-05-28 17:29:10 -0500 received badge  Popular Question (source)
2013-05-25 22:53:35 -0500 asked a question OGRE linking to boost fails, OSX 10.7

Trying to install groovy on my mac running lion. After appropriate tapping and following the instructions, brew install ogre (or brew install ros/groovy/ogre) gets me the following. I noticed in one of the patches that boost versions are only listed for up to 1.46.1, so I also tried reverting back to that version of boost via homebrew. I was using the newest in the homebrew repo, 1.53.0. It seems as though its just not getting the right flags, but I was concerned at it seems no one else has had this problem. Any help is appreciated. Thanks.

Linking CXX shared library ../lib/libOgreMain.dylib
brew: superenv removed: -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
Undefined symbols for architecture x86_64:
 "boost::this_thread::interruption_point()", referenced from:
 boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) in OgreWorkQueue.cpp.o

...

boost::detail::thread_data_base::thread_data_base() in OgreDefaultWorkQueueStandard.cpp.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libOgreMain.1.7.4.dylib] Error 1
make[1]: *** [OgreMain/CMakeFiles/OgreMain.dir/all] Error 2
make: *** [all] Error 2
==> Configuration
HOMEBREW_VERSION: 0.9.4
HEAD: 3e262a61605d8a635b67e29023de2134a2a8ea9d
CPU: quad-core 64-bit sandybridge
OS X: 10.7.5-x86_64
Xcode: 4.6.2
CLT: 1.0.0.9000000000.1.1249367152
LLVM-GCC: build 2336
Clang: 4.0 build 421
X11: 2.6.5 => /usr/X11
==> ENV
HOMEBREW_CC: clang
MAKEFLAGS: -j4
CMAKE_PREFIX_PATH: /usr/local/opt/freetype:/usr/local
CMAKE_INCLUDE_PATH: /usr/X11/include/freetype2:/usr/include/libxml2:/usr/X11/include
CMAKE_LIBRARY_PATH: /usr/X11/lib
PKG_CONFIG_PATH: /usr/local/opt/freetype/lib/pkgconfig:/usr/local/opt/libzzip/lib/pkgconfig
PKG_CONFIG_LIBDIR: /usr/lib/pkgconfig:/usr/X11/lib/pkgconfig:/usr/X11/share/pkgconfig
ACLOCAL_PATH: /usr/local/opt/freetype/share/aclocal:/usr/local/share/aclocal
OBJC: cc
PATH: /usr/local/Library/ENV/4.3:/usr/local/opt/cmake/bin:/usr/local/opt/doxygen/bin:/usr/local/opt/freetype/bin:/usr/local/opt/libzzip/bin:/usr/X11/bin:/usr/bin:/bin:/usr/sbin:/sbin
2012-08-25 20:23:46 -0500 received badge  Famous Question (source)
2012-08-15 06:44:47 -0500 received badge  Popular Question (source)
2012-08-15 06:44:47 -0500 received badge  Notable Question (source)
2012-07-22 08:04:30 -0500 received badge  Editor (source)
2012-07-22 08:04:00 -0500 answered a question rosmake doesn't include custom msg header files

Solved:

There was a Makefile in the package generated from cmake (not the simple one that finds mk), so the "make"/"make clean" didn't do the right things as they were generated with the fuerte build system. After replacing them the with standard Makefile that finds mk, making clean, and then rebuilding (along with all the messages), it worked.

2012-07-22 06:53:03 -0500 commented question rosmake doesn't include custom msg header files

Yes, I did.

2012-07-20 12:18:23 -0500 asked a question rosmake doesn't include custom msg header files

Solved: see my answer below.

When I try to compile a package of mine on OSX electric, the c++ header files aren't found for custom messages. This did not happen before I tried to install fuerte. When I hit a roadblock, I realized it wasn't worth it and reverted to electric. I think I have everything back to normal, but this issue remains.

rospack depends-msgsrv [my_package]

yields all the right paths to the header files for core libraries, but not those which are defined in my own packages. I know my package path is fine, and running the same commands (both rospack and actual compilation) work fine on ubuntu 10.04 running electric. The result of the rospack command includes the paths to my packages with custom msgs. I'm not sure where to look next as far as debugging. Any suggestions?