Hi all, I'm having some trouble compiling an app (Mira Groupware of http://miragroupware.org), which uses the Boost 1.42 libraries, on Mac OS X. It's exiting during the 'make' stage with an error about 'Undefined symbols'. I would really appreciate it if someone could offer a helping hand! Judging by the output of CMake, the Boost files are installed and can be found (I've cropped the output to highlight the bit about Boost): ----- MBP:build Max$ cmake ./ -- The C compiler identification is GNU -- The CXX compiler identification is GNU [...] -- Boost version: 1.42.0 -- Found the following Boost libraries: -- thread -- signals -- system -- filesystem ** Mira found Boost version 104200 [...] -- Configuring done -- Generating done -- Build files have been written to: /Users/Max/Documents/Projects/Mira/Branches/build ----- However, this is what happens while trying to 'make' the Server: ----- MBP:mirs Max$ make [ 6%] Built target mira Scanning dependencies of target Files-utility [ 13%] Building CXX object CMakeFiles/Files-utility.dir/src/utilities/files/files.cpp.o [ 20%] Building CXX object CMakeFiles/Files-utility.dir/src/utilities/files/FileUtility.cpp.o [ 26%] Building CXX object CMakeFiles/Files-utility.dir/src/utilities/files/FileServer.cpp.o [ 33%] Building CXX object CMakeFiles/Files-utility.dir/src/utilities/files/FileConnection.cpp.o Linking CXX shared library bin/libFiles-utility.dylib Undefined symbols: "boost::filesystem::detail::remove_api(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from: bool boost::filesystem::detail::remove_aux<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits>
(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&, boost::filesystem::file_status)in FileUtility.cpp.o "boost::system::get_system_category()", referenced from: boost::asio::error::get_system_category() in files.cpp.o boost::system::error_code::error_code()in files.cpp.o __static_initialization_and_destruction_0(int, int)in files.cpp.o __static_initialization_and_destruction_0(int, int)in files.cpp.o boost::system::error_code::error_code()in FileUtility.cpp.o __static_initialization_and_destruction_0(int, int)in FileUtility.cpp.o __static_initialization_and_destruction_0(int, int)in FileUtility.cpp.o boost::asio::error::get_system_category() in FileServer.cpp.o boost::system::error_code::error_code()in FileServer.cpp.o __static_initialization_and_destruction_0(int, int)in FileServer.cpp.o __static_initialization_and_destruction_0(int, int)in FileServer.cpp.o boost::asio::error::get_system_category() in FileConnection.cpp.o boost::system::error_code::error_code()in FileConnection.cpp.o __static_initialization_and_destruction_0(int, int)in FileConnection.cpp.o __static_initialization_and_destruction_0(int, int)in FileConnection.cpp.o "typeinfo for boost::detail::thread_data_base", referenced from: typeinfo for boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, FileServer>, boost::_bi::list1<boost::_bi::value<FileServer*> > > >in files.cpp.o typeinfo for boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, FileConnection>, boost::_bi::list1<boost::_bi::value<FileConnection*> > > >in FileServer.cpp.o "boost::thread::start_thread()", referenced from: boost::thread::thread<boost::_bi::bind_t<void, boost::_mfi::mf0<void, FileServer>, boost::_bi::list1<boost::_bi::value<FileServer*> > > >(boost::_bi::bind_t<void, boost::_mfi::mf0<void, FileServer>, boost::_bi::list1<boost::_bi::value<FileServer*> > >, boost::disable_if<boost::is_convertible<boost::_bi::bind_t<void, boost::_mfi::mf0<void, FileServer>, boost::_bi::list1<boost::_bi::value<FileServer*> > >&, boost::detail::thread_move_t<boost::_bi::bind_t<void, boost::_mfi::mf0<void, FileServer>, boost::_bi::list1<boost::_bi::value<FileServer*> > > > >, boost::thread::dummy*>::type)in files.cpp.o boost::thread::thread<boost::_bi::bind_t<void, boost::_mfi::mf0<void, FileConnection>, boost::_bi::list1<boost::_bi::value<FileConnection*> > > >(boost::_bi::bind_t<void, boost::_mfi::mf0<void, FileConnection>, boost::_bi::list1<boost::_bi::value<FileConnection*> > >, boost::disable_if<boost::is_convertible<boost::_bi::bind_t<void, boost::_mfi::mf0<void, FileConnection>, boost::_bi::list1<boost::_bi::value<FileConnection*> > >&, boost::detail::thread_move_t<boost::_bi::bind_t<void, boost::_mfi::mf0<void, FileConnection>, boost::_bi::list1<boost::_bi::value<FileConnection*> > > > >, boost::thread::dummy*>::type)in FileServer.cpp.o "boost::filesystem::detail::not_found_error()", referenced from:
boost::filesystem::basic_directory_iterator<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits>
::m_init(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&)in FileUtility.cpp.o "boost::filesystem::detail::symlink_status_api(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::system::error_code&)", referenced from:
boost::enable_if<boost::filesystem::is_basic_path<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >, boost::filesystem::file_status>::type boost::filesystem::symlink_status<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits>
(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&, boost::system::error_code&)in FileUtility.cpp.o "boost::detail::thread_data_base::~thread_data_base()", referenced from: boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, FileServer>, boost::_bi::list1<boost::_bi::value<FileServer*> > > >::~thread_data()in files.cpp.o boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, FileServer>, boost::_bi::list1<boost::_bi::value<FileServer*> > > >::~thread_data()in files.cpp.o boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, FileConnection>, boost::_bi::list1<boost::_bi::value<FileConnection*> > > >::~thread_data()in FileServer.cpp.o boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, FileConnection>, boost::_bi::list1<boost::_bi::value<FileConnection*> > > >::~thread_data()in FileServer.cpp.o "vtable for boost::detail::thread_data_base", referenced from: boost::detail::thread_data_base::thread_data_base()in files.cpp.o boost::detail::thread_data_base::thread_data_base()in FileServer.cpp.o "boost::thread::~thread()", referenced from: _initialize in files.cpp.o FileServer::run() in FileServer.cpp.o "boost::filesystem::detail::dir_itr_first(void*&, void*&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, boost::filesystem::file_status&, boost::filesystem::file_status&)", referenced from:
boost::filesystem::basic_directory_iterator<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits>
::m_init(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&)in FileUtility.cpp.o "boost::filesystem::detail::file_size_api(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
boost::enable_if<boost::filesystem::is_basic_path<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >, unsigned long>::type boost::filesystem::file_size<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits>
(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&)in FileConnection.cpp.o "boost::filesystem::detail::dir_itr_increment(void*&, void*&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, boost::filesystem::file_status&, boost::filesystem::file_status&)", referenced from:
boost::filesystem::basic_directory_iterator<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits>
::increment()in FileUtility.cpp.o "boost::filesystem::detail::create_directory_api(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
boost::enable_if<boost::filesystem::is_basic_path<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >, bool>::type boost::filesystem::create_directory<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits>
(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&)in FileUtility.cpp.o "boost::system::get_generic_category()", referenced from: __static_initialization_and_destruction_0(int, int)in files.cpp.o __static_initialization_and_destruction_0(int, int)in files.cpp.o __static_initialization_and_destruction_0(int, int)in files.cpp.o __static_initialization_and_destruction_0(int, int)in FileUtility.cpp.o __static_initialization_and_destruction_0(int, int)in FileUtility.cpp.o __static_initialization_and_destruction_0(int, int)in FileUtility.cpp.o __static_initialization_and_destruction_0(int, int)in FileServer.cpp.o __static_initialization_and_destruction_0(int, int)in FileServer.cpp.o __static_initialization_and_destruction_0(int, int)in FileServer.cpp.o __static_initialization_and_destruction_0(int, int)in FileConnection.cpp.o __static_initialization_and_destruction_0(int, int)in FileConnection.cpp.o __static_initialization_and_destruction_0(int, int)in FileConnection.cpp.o "boost::filesystem::detail::status_api(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::system::error_code&)", referenced from:
boost::enable_if<boost::filesystem::is_basic_path<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >, bool>::type boost::filesystem::exists<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits>
(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&)in FileUtility.cpp.o "boost::filesystem::detail::dir_itr_close(void*&, void*&)", referenced from:
boost::filesystem::detail::dir_itr_imp<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits>
::~dir_itr_imp()in FileUtility.cpp.o ld: symbol(s) not found
collect2: ld returned 1 exit status make[2]: *** [bin/libFiles-utility.dylib] Error 1 make[1]: *** [CMakeFiles/Files-utility.dir/all] Error 2 make: *** [all] Error 2 -----
The Client exits with a similar error during the build process. Would anyone know why this issue is occurring, and how I could fix it? Thank you in advance. Regards, Max Bossino Project Manager http://miragroupware.org