'Undefined symbols' error when building Mira Groupware on Mac OS X
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
AMDG Max Bossino wrote:
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 Serve <snip>
Can you find out what the actual linker command line is? In Christ, Steven Watanabe
Hi Steven, On 23 May 2010, at 20:15, Steven Watanabe wrote:
Can you find out what the actual linker command line is?
Please excuse my limited development experience - I've attached the CMakeLists.txt file and the Makefile which CMake created on my system for your reference. I hope they are sufficient. Thank you for your attention. Regards, Max Bossino Project Manager http://miragroupware.org
AMDG Max Bossino wrote:
On 23 May 2010, at 20:15, Steven Watanabe wrote:
Can you find out what the actual linker command line is?
Please excuse my limited development experience - I've attached the CMakeLists.txt file and the Makefile which CMake created on my system for your reference. I hope they are sufficient.
Unfortunately not. There's just a recursive call to make in the main Makefile. Files-utility: cmake_check_build_system $(MAKE) -f CMakeFiles/Makefile2 Files-utility Unfortunately, CMake suppresses some of the normal make output. Can you comment out the line in the Makefile that says # Suppress display of executed commands. $(VERBOSE).SILENT: run make Files-utility and report the results? In Chirst, Steven Watanabe
Hi Steven, On 23 May 2010, at 20:46, Steven Watanabe wrote:
Unfortunately, CMake suppresses some of the normal make output. Can you comment out the line in the Makefile that says
# Suppress display of executed commands. $(VERBOSE).SILENT:
run make Files-utility and report the results?
As requested: ----- MBP:build Max$ make Files-utility "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -H/Users/Max/Documents/Projects/Mira/Branches/build -B/Users/Max/Documents/Projects/Mira/Branches/build --check-build-system CMakeFiles/Makefile.cmake 0 make -f CMakeFiles/Makefile2 Files-utility Scanning dependencies of target mira [ 20%] Building CXX object CMakeFiles/mira.dir/src/utilities/libmira-utility/MiraUtility.cpp.o Linking CXX shared library bin/libmira.dylib [ 20%] Built target mira Scanning dependencies of target Files-utility [ 40%] Building CXX object CMakeFiles/Files-utility.dir/src/utilities/files/files.cpp.o [ 60%] Building CXX object CMakeFiles/Files-utility.dir/src/utilities/files/FileUtility.cpp.o [ 80%] Building CXX object CMakeFiles/Files-utility.dir/src/utilities/files/FileServer.cpp.o [100%] 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[3]: *** [bin/libFiles-utility.dylib] Error 1 make[2]: *** [CMakeFiles/Files-utility.dir/all] Error 2 make[1]: *** [CMakeFiles/Files-utility.dir/rule] Error 2 make: *** [Files-utility] Error 2 ----- Is that at all helpful? Regards, Max Bossino Project Manager http://miragroupware.org
AMDG Max Bossino wrote:
On 23 May 2010, at 20:46, Steven Watanabe wrote:
Unfortunately, CMake suppresses some of the normal make output. Can you comment out the line in the Makefile that says
# Suppress display of executed commands. $(VERBOSE).SILENT:
run make Files-utility and report the results?
As requested:
----- MBP:build Max$ make Files-utility "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -H/Users/Max/Documents/Projects/Mira/Branches/build -B/Users/Max/Documents/Projects/Mira/Branches/build --check-build-system CMakeFiles/Makefile.cmake 0 make -f CMakeFiles/Makefile2 Files-utility <snip>
Is that at all helpful?
Unfortunately not. Here's what I think is the right way: make Files-utility VERBOSE=1 That should cause the commands to be printed for the recursive make as well. In Christ, Steven Watanabe
Hi Steven, On 23 May 2010, at 21:05, Steven Watanabe wrote:
Unfortunately not. Here's what I think is the right way:
make Files-utility VERBOSE=1
That should cause the commands to be printed for the recursive make as well.
I think that worked. Here's the output: ----- MBP:build Max$ make Files-utility VERBOSE=1 "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -H/Users/Max/Documents/Projects/Mira/Branches/build -B/Users/Max/Documents/Projects/Mira/Branches/build --check-build-system CMakeFiles/Makefile.cmake 0 make -f CMakeFiles/Makefile2 Files-utility "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -H/Users/Max/Documents/Projects/Mira/Branches/build -B/Users/Max/Documents/Projects/Mira/Branches/build --check-build-system CMakeFiles/Makefile.cmake 0 "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -E cmake_progress_start /Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles 5 make -f CMakeFiles/Makefile2 CMakeFiles/Files-utility.dir/all make -f CMakeFiles/mira.dir/build.make CMakeFiles/mira.dir/depend cd /Users/Max/Documents/Projects/Mira/Branches/build && "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -E cmake_depends "Unix Makefiles" /Users/Max/Documents/Projects/Mira/Branches/build /Users/Max/Documents/Projects/Mira/Branches/build /Users/Max/Documents/Projects/Mira/Branches/build /Users/Max/Documents/Projects/Mira/Branches/build /Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles/mira.dir/DependInfo.cmake --color= Dependee "/Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles/mira.dir/DependInfo.cmake" is newer than depender "/Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles/mira.dir/depend.internal". Dependee "/Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles/mira.dir/depend.internal". Scanning dependencies of target mira make -f CMakeFiles/mira.dir/build.make CMakeFiles/mira.dir/build "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -E cmake_progress_report /Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles 5 [ 20%] Building CXX object CMakeFiles/mira.dir/src/utilities/libmira-utility/MiraUtility.cpp.o /usr/bin/c++ -Dmira_EXPORTS -fno-operator-names -g -fPIC -I/usr/local/include -I/Users/Max/Documents/Projects/Mira/Branches/build/include -I/Users/Max/Documents/Projects/Mira/Branches/build/include/directory -I/Users/Max/Documents/Projects/Mira/Branches/build/include/directory/plaintext -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/asio -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/messages -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/messages/outgoing -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities/files -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities/libmira-utilty -o CMakeFiles/mira.dir/src/utilities/libmira-utility/MiraUtility.cpp.o -c /Users/Max/Documents/Projects/Mira/Branches/build/src/utilities/libmira-utility/MiraUtility.cpp Linking CXX shared library bin/libmira.dylib "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -E cmake_link_script CMakeFiles/mira.dir/link.txt --verbose=1 /usr/bin/c++ -fno-operator-names -g -dynamiclib -headerpad_max_install_names -o bin/libmira.dylib -install_name /Users/Max/Documents/Projects/Mira/Branches/build/bin/libmira.dylib CMakeFiles/mira.dir/src/utilities/libmira-utility/MiraUtility.cpp.o "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -E cmake_progress_report /Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles 5 [ 20%] Built target mira make -f CMakeFiles/Files-utility.dir/build.make CMakeFiles/Files-utility.dir/depend cd /Users/Max/Documents/Projects/Mira/Branches/build && "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -E cmake_depends "Unix Makefiles" /Users/Max/Documents/Projects/Mira/Branches/build /Users/Max/Documents/Projects/Mira/Branches/build /Users/Max/Documents/Projects/Mira/Branches/build /Users/Max/Documents/Projects/Mira/Branches/build /Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles/Files-utility.dir/DependInfo.cmake --color= Dependee "/Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles/Files-utility.dir/DependInfo.cmake" is newer than depender "/Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles/Files-utility.dir/depend.internal". Dependee "/Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles/Files-utility.dir/depend.internal". Scanning dependencies of target Files-utility make -f CMakeFiles/Files-utility.dir/build.make CMakeFiles/Files-utility.dir/build "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -E cmake_progress_report /Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles 1 [ 40%] Building CXX object CMakeFiles/Files-utility.dir/src/utilities/files/files.cpp.o /usr/bin/c++ -DFiles_utility_EXPORTS -fno-operator-names -g -fPIC -I/usr/local/include -I/Users/Max/Documents/Projects/Mira/Branches/build/include -I/Users/Max/Documents/Projects/Mira/Branches/build/include/directory -I/Users/Max/Documents/Projects/Mira/Branches/build/include/directory/plaintext -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/asio -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/messages -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/messages/outgoing -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities/files -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities/libmira-utilty -o CMakeFiles/Files-utility.dir/src/utilities/files/files.cpp.o -c /Users/Max/Documents/Projects/Mira/Branches/build/src/utilities/files/files.cpp "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -E cmake_progress_report /Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles 2 [ 60%] Building CXX object CMakeFiles/Files-utility.dir/src/utilities/files/FileUtility.cpp.o /usr/bin/c++ -DFiles_utility_EXPORTS -fno-operator-names -g -fPIC -I/usr/local/include -I/Users/Max/Documents/Projects/Mira/Branches/build/include -I/Users/Max/Documents/Projects/Mira/Branches/build/include/directory -I/Users/Max/Documents/Projects/Mira/Branches/build/include/directory/plaintext -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/asio -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/messages -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/messages/outgoing -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities/files -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities/libmira-utilty -o CMakeFiles/Files-utility.dir/src/utilities/files/FileUtility.cpp.o -c /Users/Max/Documents/Projects/Mira/Branches/build/src/utilities/files/FileUtility.cpp "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -E cmake_progress_report /Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles 3 [ 80%] Building CXX object CMakeFiles/Files-utility.dir/src/utilities/files/FileServer.cpp.o /usr/bin/c++ -DFiles_utility_EXPORTS -fno-operator-names -g -fPIC -I/usr/local/include -I/Users/Max/Documents/Projects/Mira/Branches/build/include -I/Users/Max/Documents/Projects/Mira/Branches/build/include/directory -I/Users/Max/Documents/Projects/Mira/Branches/build/include/directory/plaintext -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/asio -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/messages -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/messages/outgoing -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities/files -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities/libmira-utilty -o CMakeFiles/Files-utility.dir/src/utilities/files/FileServer.cpp.o -c /Users/Max/Documents/Projects/Mira/Branches/build/src/utilities/files/FileServer.cpp "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -E cmake_progress_report /Users/Max/Documents/Projects/Mira/Branches/build/CMakeFiles 4 [100%] Building CXX object CMakeFiles/Files-utility.dir/src/utilities/files/FileConnection.cpp.o /usr/bin/c++ -DFiles_utility_EXPORTS -fno-operator-names -g -fPIC -I/usr/local/include -I/Users/Max/Documents/Projects/Mira/Branches/build/include -I/Users/Max/Documents/Projects/Mira/Branches/build/include/directory -I/Users/Max/Documents/Projects/Mira/Branches/build/include/directory/plaintext -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/asio -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/messages -I/Users/Max/Documents/Projects/Mira/Branches/build/include/network/messages/outgoing -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities/files -I/Users/Max/Documents/Projects/Mira/Branches/build/include/utilities/libmira-utilty -o CMakeFiles/Files-utility.dir/src/utilities/files/FileConnection.cpp.o -c /Users/Max/Documents/Projects/Mira/Branches/build/src/utilities/files/FileConnection.cpp Linking CXX shared library bin/libFiles-utility.dylib "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -E cmake_link_script CMakeFiles/Files-utility.dir/link.txt --verbose=1 /usr/bin/c++ -fno-operator-names -g -dynamiclib -headerpad_max_install_names -o bin/libFiles-utility.dylib -install_name /Users/Max/Documents/Projects/Mira/Branches/build/bin/libFiles-utility.dylib CMakeFiles/Files-utility.dir/src/utilities/files/files.cpp.o CMakeFiles/Files-utility.dir/src/utilities/files/FileUtility.cpp.o CMakeFiles/Files-utility.dir/src/utilities/files/FileServer.cpp.o CMakeFiles/Files-utility.dir/src/utilities/files/FileConnection.cpp.o bin/libmira.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[3]: *** [bin/libFiles-utility.dylib] Error 1 make[2]: *** [CMakeFiles/Files-utility.dir/all] Error 2 make[1]: *** [CMakeFiles/Files-utility.dir/rule] Error 2 make: *** [Files-utility] Error 2 ----- Thanks again for the help! Regards, Max Bossino Project Manager http://miragroupware.org
AMDG Max Bossino wrote:
I think that worked. Here's the output:
----- <snip> Linking CXX shared library bin/libFiles-utility.dylib "/Applications/CMake 2.8-1.app/Contents/bin/cmake" -E cmake_link_script CMakeFiles/Files-utility.dir/link.txt --verbose=1 /usr/bin/c++ -fno-operator-names -g -dynamiclib -headerpad_max_install_names -o bin/libFiles-utility.dylib -install_name /Users/Max/Documents/Projects/Mira/Branches/build/bin/libFiles-utility.dylib CMakeFiles/Files-utility.dir/src/utilities/files/files.cpp.o CMakeFiles/Files-utility.dir/src/utilities/files/FileUtility.cpp.o CMakeFiles/Files-utility.dir/src/utilities/files/FileServer.cpp.o CMakeFiles/Files-utility.dir/src/utilities/files/FileConnection.cpp.o bin/libmira.dylib
Okay, thanks. CMakeLists.txt: SET ( FILES_UTILITY_SOURCES "src/utilities/files/files.cpp" "src/utilities/files/FileUtility.cpp" "src/utilities/files/FileServer.cpp" "src/utilities/files/FileConnection.cpp") add_library(Files-utility SHARED ${FILES_UTILITY_SOURCES}) TARGET_LINK_LIBRARIES ( Files-utility mira ) You need to link to boost_filesystem and boost_system. See http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:FindBoost I think the variable is ${Boost_LIBRARIES}, although that may get you more libraries than you need. In Christ, Steven Watanabe
Hi Steven, On 23 May 2010, at 21:24, Steven Watanabe wrote:
CMakeLists.txt:
SET ( FILES_UTILITY_SOURCES "src/utilities/files/files.cpp" "src/utilities/files/FileUtility.cpp" "src/utilities/files/FileServer.cpp" "src/utilities/files/FileConnection.cpp")
add_library(Files-utility SHARED ${FILES_UTILITY_SOURCES})
TARGET_LINK_LIBRARIES ( Files-utility mira )
You need to link to boost_filesystem and boost_system. See http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:FindBoost I think the variable is ${Boost_LIBRARIES}, although that may get you more libraries than you need.
Thank you! I changed the last line to: TARGET_LINK_LIBRARIES ( Files-utility mira ${Boost_LIBRARIES} ) and the entire application now builds perfectly. Now I've just got to figure out how to fix the CMakeLists.txt for the Client, which is slightly more complicated! Thanks again for your help! Regards, Max Bossino Project Manager http://miragroupware.org
participants (2)
-
Max Bossino
-
Steven Watanabe