Boost logo

Boost Users :

Subject: Re: [Boost-users] 'Undefined symbols' error when building Mira Groupware on Mac OS X
From: Max Bossino (max_at_[hidden])
Date: 2010-05-23 15:11:47


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


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net