The first error is with nodelet_tutorial_math
:
{-------------------------------------------------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/alex/ros_ws/common_tutorials/nodelet_tutorial_math/build
cd build && make -j -l8
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 nodelet_math
[100%] Building CXX object CMakeFiles/nodelet_math.dir/src/plus.cpp.o
Linking CXX shared library ../lib/libnodelet_math.dylib
clang: warning: argument unused during compilation: '-pthread'
Undefined symbols for architecture x86_64:
"class_loader::class_loader_private::AbstractMetaObjectBase::addOwningClassLoader(class_loader::ClassLoader*)", referenced from:
void class_loader::class_loader_private::registerPlugin<nodelet_tutorial_math::Plus, nodelet::Nodelet>(std::string const&, std::string const&) in plus.cpp.o
"class_loader::class_loader_private::AbstractMetaObjectBase::setAssociatedLibraryPath(std::string)", referenced from:
void class_loader::class_loader_private::registerPlugin<nodelet_tutorial_math::Plus, nodelet::Nodelet>(std::string const&, std::string const&) in plus.cpp.o
"class_loader::class_loader_private::AbstractMetaObjectBase::AbstractMetaObjectBase(std::string const&, std::string const&)", referenced from:
class_loader::class_loader_private::AbstractMetaObject<nodelet::Nodelet>::AbstractMetaObject(std::string const&, std::string const&) in plus.cpp.o
"class_loader::class_loader_private::AbstractMetaObjectBase::~AbstractMetaObjectBase()", referenced from:
class_loader::class_loader_private::AbstractMetaObject<nodelet::Nodelet>::AbstractMetaObject(std::string const&, std::string const&) in plus.cpp.o
"class_loader::class_loader_private::getFactoryMapForBaseClass(std::string const&)", referenced from:
std::map<std::string, class_loader::class_loader_private::AbstractMetaObjectBase*, std::less<std::string>, std::allocator<std::pair<std::string const, class_loader::class_loader_private::AbstractMetaObjectBase*> > >& class_loader::class_loader_private::getFactoryMapForBaseClass<nodelet::Nodelet>() in plus.cpp.o
"class_loader::class_loader_private::getCurrentlyActiveClassLoader()", referenced from:
void class_loader::class_loader_private::registerPlugin<nodelet_tutorial_math::Plus, nodelet::Nodelet>(std::string const&, std::string const&) in plus.cpp.o
"class_loader::class_loader_private::getCurrentlyLoadingLibraryName()", referenced from:
void class_loader::class_loader_private::registerPlugin<nodelet_tutorial_math::Plus, nodelet::Nodelet>(std::string const&, std::string const&) in plus.cpp.o
"class_loader::class_loader_private::getPluginBaseToFactoryMapMapMutex()", referenced from:
void class_loader::class_loader_private::registerPlugin<nodelet_tutorial_math::Plus, nodelet::Nodelet>(std::string const&, std::string const&) in plus.cpp.o
"class_loader::class_loader_private::hasANonPurePluginLibraryBeenOpened(bool)", referenced from:
void class_loader::class_loader_private::registerPlugin<nodelet_tutorial_math::Plus, nodelet::Nodelet>(std::string const&, std::string const&) in plus.cpp.o
"console_bridge::log(char const*, int, console_bridge::LogLevel, char const*, ...)", referenced from:
void class_loader::class_loader_private::registerPlugin<nodelet_tutorial_math::Plus, nodelet::Nodelet>(std::string const&, std::string const&) in plus.cpp.o
__GLOBAL__I_a in plus.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[3]: *** [../lib/libnodelet_math.dylib] Error 1
make[2]: *** [CMakeFiles/nodelet_math.dir/all] Error 2
make[1]: *** [all] Error 2
-------------------------------------------------------------------------------}
[ rosmake ] Output from build of package nodelet_tutorial_math written to:
[ rosmake ] /Users/alex/.ros/rosmake/rosmake_output-20130302-173409/nodelet_tutorial_math/build_output.log
[rosmake-5] Finished <<< nodelet_tutorial_math [FAIL] [ 41.04 seconds ]
It appears that it is not linking against class_loader
correctly.
I created a ticket:
https://github.com/ros/common_tutorials/issues/3
Next is orocos_kdl
, which appears to be missing a link against CppUnit:
{-------------------------------------------------------------------------------
FramesTest::suite() in framestest.cpp.o
"CppUnit::TextTestRunner::result() const", referenced from:
_main in test-runner.cpp.o
"CppUnit::TestSuiteBuilderContextBase::getTestNameFor(std::string const&) const", referenced from:
FramesTest::addTestsToSuite(CppUnit::TestSuiteBuilderContextBase&) in framestest.cpp.o
"CppUnit::TestSuiteBuilderContextBase::makeTestFixture() const", referenced from:
FramesTest::addTestsToSuite(CppUnit::TestSuiteBuilderContextBase&) in framestest.cpp.o
"CppUnit::Test::findTestPath(CppUnit::Test ...
(more)
Guys, does anyone know how to solve this?
@Noldorin There are three separate errors in that log. I'll try to answer them each, but in the future you should try to narrow the question down.
@William: Okay, fair enough; I did just think they were somewhat related, but maybe not... Thanks, look forward to your response.