0
$\begingroup$

Rosanswers logo

I have tried to install electric in Snow Leopard, but it failed due to not findind some symbols on the boost libraries. By that time I searched around for solutions, I installed the boost I had and installed 1.49, but still it failed. I upgraded to Mountain Lion and again tried installing electric, but failed with the same problem. So i tried to install fuerte, and again.. it fails with the same error.

So my current situation is fuerte + Mountain Lion, and I don't know how to solve this problem. I really want to use ROS on my research project, but it's turning out impossible to get it running. Already spent a whole week installing stuff and missing lib and dependencies and even a new OS.

Can anybody help here?

This is the ~/.ros/rosmake/ros_outputxxx/bondcpp/build_output.log file:

mkdir -p bin

cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=rospack find rosbuild/rostoolchain.cmake

..

-- The C compiler identification is GNU 4.2.1

-- The CXX compiler identification is Clang 4.1.0

-- Checking whether C compiler has -isysroot

-- Checking whether C compiler has -isysroot - yes

-- Checking whether C compiler supports OSX deployment target flag

-- Checking whether C compiler supports OSX deployment target flag - yes

-- Check for working C compiler: /usr/bin/gcc

-- Check for working C compiler: /usr/bin/gcc -- works

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Check for working CXX compiler: /usr/bin/c++

-- Check for working CXX compiler: /usr/bin/c++ -- works

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Found PythonInterp: /usr/local/bin/python (found version "2.7.3")

[rosbuild] Building package bondcpp

[rosbuild] Cached build flags older than manifests; calling rospack to get flags

[rosbuild] Including /opt/ros/fuerte/share/roscpp/rosbuild/roscpp.cmake

[rosbuild] Including /opt/ros/fuerte/share/common-lisp/ros/roslisp/rosbuild/roslisp.cmake

[rosbuild] Including /opt/ros/fuerte/share/rospy/rosbuild/rospy.cmake

-- Configuring done

-- Generating done

-- Build files have been written to: /Users/tiagoribeiro/ros/bond_core/bondcpp/build

cd build && make -l4

Scanning dependencies of target rospack_genmsg_libexe

[ 0%] Built target rospack_genmsg_libexe

Scanning dependencies of target rosbuild_precompile

[ 0%] Built target rosbuild_precompile

Scanning dependencies of target bondcpp

[ 33%] Building CXX object CMakeFiles/bondcpp.dir/src/timeout.o

[ 66%] Building CXX object CMakeFiles/bondcpp.dir/src/bond.o

In file included from /Users/tiagoribeiro/ros/bond_core/bondcpp/src/bond.cpp:32:

/Users/tiagoribeiro/ros/bond_core/bondcpp/include/bondcpp/bond.h:186:1: warning: 'BondSM' defined as a struct here but previously declared as a class [-Wmismatched-tags]

struct BondSM^ /Users/tiagoribeiro/ros/bond_core/bondcpp/include/BondSM_sm.h:25:1: note: did you mean struct here?

class BondSM; ^~~~~ struct

1 warning generated.

[100%] Building CXX object CMakeFiles/bondcpp.dir/src/BondSM_sm.o

In file included from /Users/tiagoribeiro/ros/bond_core/bondcpp/src/BondSM_sm.cpp:8: /Users/tiagoribeiro/ros/bond_core/bondcpp/include/bondcpp/bond.h:186:1: warning: 'BondSM' defined as a struct here but previously declared as a class [-Wmismatched-tags]

struct BondSM ^ /Users/tiagoribeiro/ros/bond_core/bondcpp/include/BondSM_sm.h:25:1: note: did you mean struct here?

class BondSM; ^~~~~ struct

1 warning generated.

Linking CXX shared library ../lib/libbondcpp.dylib

clang: warning: argument unused during compilation: '-pthread'

Undefined symbols for architecture x86_64:

"boost::this_thread::interruption_point()", referenced from:

bool boost::condition_variable_any::timed_waitboost::mutex(boost::mutex&,

boost::posix_time::ptime const&) in bond.o

"boost::detail::get_current_thread_data()", referenced from:

boost::detail::interruption_checker::interruption_checker(_opaque_pthread_mutex_t*,

_opaque_pthread_cond_t*) in bond.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[3]: *** [../lib/libbondcpp.dylib] Error 1

make[2]: *** [CMakeFiles/bondcpp.dir/all] Error 2

make[1]: *** [all] Error 2

make: *** [all] Error 2


Originally posted by TiagoRibeiro on ROS Answers with karma: 41 on 2012-10-04

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I had a few linking issues with boost installing Fuerte on Mountain Lion. You can fix that one by modifying bond_core/bondcpp/CMakeLists.txt to include "rosbuild_link_boost(${PROJECT_NAME} thread system)" at the end of the file to link against boost thread:

22) target_link_libraries(${PROJECT_NAME})
    23) rosbuild_link_boost(${PROJECT_NAME} thread system)

Originally posted by david.hodo with karma: 395 on 2012-10-04

This answer was ACCEPTED on the original site

Post score: 1

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.