I am having problems compiling nodelet. ROS electric, OSX Lion 10.7 using macports and default compiler I had to define STL use in loader.cpp, otherwise the macports of tinyXML didn't make certain class members available: #define TIXML_USE_STL is there a way to define this in CMakeLists.txt? I am getting this error, but not sure why. I am assuming I have to add something to CMakeLists.txt to make the headers from include/nodelet available, but adding include(${PROJECT_SOURCE_DIR}/include/nodelet) didn't help. [ 66%] Built target rosbuild_precompile Linking CXX shared library ../lib/libnodeletlib.dylib Undefined symbols for architecture x86_64: "nodelet::UninitializedException::~UninitializedException()", referenced from: nodelet::Nodelet::getMTPrivateNodeHandle() constin nodelet_class.o nodelet::Nodelet::getMTNodeHandle() constin nodelet_class.o nodelet::Nodelet::getPrivateNodeHandle() constin nodelet_class.o nodelet::Nodelet::getNodeHandle() constin nodelet_class.o nodelet::Nodelet::getMTCallbackQueue() constin nodelet_class.o nodelet::Nodelet::getSTCallbackQueue() constin nodelet_class.o vtable for nodelet::UninitializedExceptionin nodelet_class.o ... "boost::shared_ptr::operator*() const", referenced from: nodelet::Nodelet::getMTPrivateNodeHandle() constin nodelet_class.o nodelet::Nodelet::getMTNodeHandle() constin nodelet_class.o nodelet::Nodelet::getPrivateNodeHandle() constin nodelet_class.o nodelet::Nodelet::getNodeHandle() constin nodelet_class.o "boost::shared_ptr::operator*() const", referenced from: nodelet::Nodelet::getMTCallbackQueue() constin nodelet_class.o nodelet::Nodelet::getSTCallbackQueue() constin nodelet_class.o "boost::shared_ptr::reset()", referenced from: nodelet::Nodelet::~Nodelet()in nodelet_class.o nodelet::Nodelet::~Nodelet()in nodelet_class.o "boost::shared_ptr::~shared_ptr()", referenced from: nodelet::Nodelet::~Nodelet()in nodelet_class.o nodelet::Nodelet::~Nodelet()in nodelet_class.o "boost::shared_ptr::~shared_ptr()", referenced from: nodelet::Nodelet::~Nodelet()in nodelet_class.o nodelet::Nodelet::~Nodelet()in nodelet_class.o nodelet::Nodelet::Nodelet()in nodelet_class.o "boost::shared_ptr::~shared_ptr()", referenced from: nodelet::Nodelet::~Nodelet()in nodelet_class.o nodelet::Nodelet::~Nodelet()in nodelet_class.o nodelet::Nodelet::Nodelet()in nodelet_class.o nodelet::detail::CallbackQueue::addCallback(boost::shared_ptr const&, unsigned long long)in callback_queue.o "boost::shared_ptr::shared_ptr()", referenced from: nodelet::Nodelet::Nodelet()in nodelet_class.o nodelet::detail::CallbackQueueManager::QueueInfo::QueueInfo()in callback_queue_manager.o "boost::shared_ptr::shared_ptr()", referenced from: nodelet::Nodelet::Nodelet()in nodelet_class.o "boost::shared_ptr::shared_ptr()", referenced from: nodelet::Nodelet::Nodelet()in nodelet_class.o "nodelet::MultipleInitializationException::~MultipleInitializationException()", referenced from: nodelet::Nodelet::init(std::basic_string, std::allocator > const&, std::map, std::allocator >, std::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::basic_string, std::allocator > > > > const&, std::vector, std::allocator >, std::allocator, std::allocator > > > const&, nodelet::detail::CallbackQueueManager*, boost::shared_ptr)in nodelet_class.o vtable for nodelet::MultipleInitializationExceptionin nodelet_class.o "boost::shared_ptr::operator=(boost::shared_ptr const&)", referenced from: nodelet::Nodelet::init(std::basic_string, std::allocator > const&, std::map, std::allocator >, std::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::basic_string, std::allocator > > > > const&, std::vector, std::allocator >, std::allocator, std::allocator > > > const&, nodelet::detail::CallbackQueueManager*, boost::shared_ptr)in nodelet_class.o "void boost::shared_ptr::reset(nodelet::detail::CallbackQueue*)", referenced from: nodelet::Nodelet::init(std::basic_string, std::allocator > const&, std::map, std::allocator >, std::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::basic_string, std::allocator > > > > const&, std::vector, std::allocator >, std::allocator, std::allocator > > > const&, nodelet::detail::CallbackQueueManager*, boost::shared_ptr)in nodelet_class.o "void boost::shared_ptr::reset(ros::NodeHandle*)", referenced from: nodelet::Nodelet::init(std::basic_string, std::allocator > const&, std::map, std::allocator >, std::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::basic_string, std::allocator > > > > const&, std::vector, std::allocator >, std::allocator, std::allocator > > > const&, nodelet::detail::CallbackQueueManager*, boost::shared_ptr)in nodelet_class.o "boost::shared_ptr::get() const", referenced from: nodelet::Nodelet::init(std::basic_string, std::allocator > const&, std::map, std::allocator >, std::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::basic_string, std::allocator > > > > const&, std::vector, std::allocator >, std::allocator, std::allocator > > > const&, nodelet::detail::CallbackQueueManager*, boost::shared_ptr)in nodelet_class.o "boost::shared_ptr::operator->() const", referenced from: nodelet::Nodelet::init(std::basic_string, std::allocator > const&, std::map, std::allocator >, std::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::basic_string, std::allocator > > > > const&, std::vector, std::allocator >, std::allocator, std::allocator > > > const&, nodelet::detail::CallbackQueueManager*, boost::shared_ptr)in nodelet_class.o "nodelet::MultipleInitializationException::~MultipleInitializationException()", referenced from: vtable for nodelet::MultipleInitializationExceptionin nodelet_class.o "nodelet::UninitializedException::~UninitializedException()", referenced from: vtable for nodelet::UninitializedExceptionin nodelet_class.o "ros::WallDuration::~WallDuration()", referenced from: nodelet::detail::CallbackQueue::callOne() in callback_queue.o "boost::enable_shared_from_this::shared_from_this()", referenced from: nodelet::detail::CallbackQueue::addCallback(boost::shared_ptr const&, unsigned long long)in callback_queue.o "boost::enable_shared_from_this::~enable_shared_from_this()", referenced from: nodelet::detail::CallbackQueue::~CallbackQueue()in callback_queue.o nodelet::detail::CallbackQueue::~CallbackQueue()in callback_queue.o nodelet::detail::CallbackQueue::CallbackQueue(nodelet::detail::CallbackQueueManager*)in callback_queue.o "ros::CallbackQueueInterface::CallbackQueueInterface()", referenced from: nodelet::detail::CallbackQueue::CallbackQueue(nodelet::detail::CallbackQueueManager*)in callback_queue.o "boost::enable_shared_from_this::enable_shared_from_this()", referenced from: nodelet::detail::CallbackQueue::CallbackQueue(nodelet::detail::CallbackQueueManager*)in callback_queue.o "boost::shared_ptr::shared_ptr(boost::mutex*)", referenced from: nodelet::detail::CallbackQueueManager::ThreadInfo::ThreadInfo()in callback_queue_manager.o "boost::shared_ptr::shared_ptr(boost::condition_variable*)", referenced from: nodelet::detail::CallbackQueueManager::ThreadInfo::ThreadInfo()in callback_queue_manager.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status make[3]: *** [../lib/libnodeletlib.dylib] Error 1 make[2]: *** [CMakeFiles/nodeletlib.dir/all] Error 2 make[1]: *** [all] Error 2 make: *** [all] Error 2 [kevin@TARDIS nodelet]$