Ask Your Question

Groovy Installation with MacPort fails on Mac OS X (10.7.5) [closed]

asked 2013-01-02 01:00:54 -0600

Álvaro gravatar image

updated 2013-01-02 03:52:33 -0600

Kevin gravatar image

Hi all, I'm trying to install ROS Groovy on my Mac BookAir and it goes fine until I have to compile. I've followed all the steps and, after the cmake step, when I'm building ROS base I got the next error:

$ make
[  0%] Built target cpp_common
Linking CXX shared library ../devel/lib/librospack.dylib
Undefined symbols for architecture x86_64:
  "boost::filesystem3::path::wchar_t_codecvt_facet()", referenced from:
      boost::filesystem3::path::codecvt() in rospack.cpp.o
  "boost::filesystem3::path::m_erase_redundant_separator(unsigned long)", referenced from:
      boost::filesystem3::path& boost::filesystem3::path::append<std::string>(std::string const&, std::codecvt<wchar_t, char, __mbstate_t> const&) in rospack.cpp.o
  "boost::filesystem3::path::m_append_separator_if_needed()", referenced from:
      boost::filesystem3::path& boost::filesystem3::path::append<std::string>(std::string const&, std::codecvt<wchar_t, char, __mbstate_t> const&) in rospack.cpp.o
  "boost::filesystem3::path::operator/=(boost::filesystem3::path const&)", referenced from:
      rospack::Rosstackage::exports_dry_package(rospack::Stackage*, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> >&) in rospack.cpp.o
      boost::filesystem3::operator/(boost::filesystem3::path const&, boost::filesystem3::path const&) in rospack.cpp.o
  "boost::filesystem3::detail::current_path(boost::system::error_code*)", referenced from:
      boost::filesystem3::current_path() in rospack.cpp.o
  "boost::filesystem3::detail::dir_itr_close(void*&, void*&)", referenced from:
      boost::filesystem3::detail::dir_itr_imp::~dir_itr_imp() in rospack.cpp.o
  "boost::filesystem3::detail::create_directory(boost::filesystem3::path const&, boost::system::error_code*)", referenced from:
      boost::filesystem3::create_directory(boost::filesystem3::path const&) in rospack.cpp.o
  "boost::filesystem3::detail::directory_iterator_construct(boost::filesystem3::directory_iterator&, boost::filesystem3::path const&, boost::system::error_code*)", referenced from:
      boost::filesystem3::directory_iterator::directory_iterator(boost::filesystem3::path const&) in rospack.cpp.o
  "boost::filesystem3::detail::directory_iterator_increment(boost::filesystem3::directory_iterator&, boost::system::error_code*)", referenced from:
      boost::filesystem3::directory_iterator::increment() in rospack.cpp.o
  "boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)", referenced from:
      boost::filesystem3::is_directory(boost::filesystem3::path const&) in rospack.cpp.o
      boost::filesystem3::is_regular_file(boost::filesystem3::path const&) in rospack.cpp.o
      boost::filesystem3::exists(boost::filesystem3::path const&) in rospack.cpp.o
  "boost::filesystem3::path::parent_path() const", referenced from:
      rospack::Rosstackage::inStackage(std::string&) in rospack.cpp.o
  "boost::filesystem3::path::filename() const", referenced from:
      rospack::Rosstackage::isStackage(std::string const&) in rospack.cpp.o
      rospack::Rosstackage::crawlDetail(std::string const&, bool, int, bool, std::vector<rospack::DirectoryCrawlRecord*, std::allocator<rospack::DirectoryCrawlRecord*> >&, boost::unordered_set<std::string, boost::hash<std::string>, std::equal_to<std::string>, std::allocator<std::string> >&) in rospack.cpp.o
      rospack::Rosstackage::inStackage(std::string&) in rospack.cpp.o
      rospack::Rosstackage::addStackage(std::string const&) in rospack.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/lib/librospack.dylib] Error 1
make[1]: *** [rospack/CMakeFiles/rospack.dir/all] Error 2
make: *** [all] Error 2

It seems that is something related to rospack and boost libraries. Any idea about how to solve it?? Thanks in advance.

edit retag flag offensive reopen merge delete

Closed for the following reason question is off-topic or not relevant. Please see for more details. by Álvaro
close date 2015-06-24 11:41:20.124825

2 Answers

Sort by » oldest newest most voted

answered 2013-01-02 09:18:14 -0600

WilliamWoodall gravatar image

It looks like you are missing boost, make sure it is installed.

I have not looked at the MacPorts instructions recently, I am not sure who is maintaining those.

edit flag offensive delete link more

answered 2013-01-02 09:43:31 -0600

Álvaro gravatar image

Boost is installed. The command port installed responds with:

$ port installed

The following ports are currently installed:


boost@1.47.0_2 (active)


Should I test it in a different way??

edit flag offensive delete link more


Why do you have an old boost install? The current version available is 1.52 ... maybe give that a try.

Kevin gravatar imageKevin ( 2013-01-02 13:57:04 -0600 )edit

It might not be for MacPorts.

WilliamWoodall gravatar imageWilliamWoodall ( 2013-01-02 15:18:06 -0600 )edit

As it is written in Installation Instructions for Groovy in OSX: "We need a specific Version of boost (1.41 to 1.47)". When you follow all the steps related to Boost Installation, the version is installed.

Álvaro gravatar imageÁlvaro ( 2013-01-02 21:23:33 -0600 )edit

Sorry ... the current Macports is 1.52 ... I just looked it up here when I posted above :)

Kevin gravatar imageKevin ( 2013-01-03 13:43:50 -0600 )edit

@Alvaro Groovy compiles with Boost 1.52, I would suggest trying that one and see if things work. There use to be an issue with 1.50 and Fuerte with homebrew.

Kevin gravatar imageKevin ( 2013-01-03 13:47:03 -0600 )edit

Question Tools


Asked: 2013-01-02 01:00:54 -0600

Seen: 185 times

Last updated: Jan 02 '13