EOSIO/eosio.contracts

Undefined symbols for architecture x86_64

noprom opened this issue · 2 comments

Environment

  • OS: MacOS
  • EOSIO: v2.0.7
  • EOSIO.CDT: v1.7.0
  • EOSIO.Contracts: v1.9.1
  • BOOST: 1.67

Issue

Build with: build.sh -t
Errors:

[ 33%] Building CXX object CMakeFiles/unit_test.dir/eosio.system_tests.cpp.o
[ 66%] Linking CXX executable .rex/rex.results.wasm
[ 50%] Building CXX object CMakeFiles/unit_test.dir/eosio.token_tests.cpp.o
[ 72%] Linking CXX executable eosio.wrap.wasm
[ 72%] Built target rex.results
[ 72%] Built target eosio.wrap
[ 77%] Building CXX object eosio.system/CMakeFiles/eosio.system.dir/src/voting.cpp.obj
[ 66%] Building CXX object CMakeFiles/unit_test.dir/eosio.wrap_tests.cpp.o
[ 83%] Linking CXX executable eosio.token.wasm
[ 83%] Built target eosio.token
[ 83%] Building CXX object CMakeFiles/unit_test.dir/main.cpp.o
[ 88%] Linking CXX executable eosio.bios.wasm
[ 88%] Built target eosio.bios
Warning, action <onerror> does not have a ricardian contract
Warning, action <onblock> does not have a ricardian contract
[ 94%] Linking CXX executable eosio.msig.wasm
[ 94%] Built target eosio.msig
Warning, action <onerror> does not have a ricardian contract
Warning, action <onblock> does not have a ricardian contract
[100%] Linking CXX executable unit_test
Undefined symbols for architecture x86_64:
  "boost::filesystem::detail::recur_dir_itr_imp::pop(boost::system::error_code*)", referenced from:
      fc::recursive_directory_iterator::pop() in libfc.a(filesystem.cpp.o)
  "boost::filesystem::detail::recur_dir_itr_imp::increment(boost::system::error_code*)", referenced from:
      fc::recursive_directory_iterator::operator++(int) in libfc.a(filesystem.cpp.o)
      fc::recursive_directory_iterator::operator++() in libfc.a(filesystem.cpp.o)
  "boost::unit_test::lazy_ostream::inst", referenced from:
      eosio::testing::expect_assert_message(fc::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in libeosio_testing.a(tester.cpp.o)
      eosio::testing::base_tester::push_action(eosio::chain::action&&, unsigned long long) in libeosio_testing.a(tester.cpp.o)
      eosio::testing::fc_exception_message_is::operator()(fc::exception const&) in libeosio_testing.a(tester.cpp.o)
      eosio::testing::fc_exception_message_starts_with::operator()(fc::exception const&) in libeosio_testing.a(tester.cpp.o)
      eosio::testing::fc_assert_exception_message_is::operator()(fc::assert_exception const&) in libeosio_testing.a(tester.cpp.o)
      eosio::testing::fc_assert_exception_message_starts_with::operator()(fc::assert_exception const&) in libeosio_testing.a(tester.cpp.o)
      eosio::testing::eosio_assert_message_is::operator()(eosio::chain::eosio_assert_message_exception const&) in libeosio_testing.a(tester.cpp.o)
      ...
  "boost::unit_test::unit_test_log_t::instance()", referenced from:
      __GLOBAL__sub_I_tester.cpp in libeosio_testing.a(tester.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[5]: *** [unit_test] Error 1
make[4]: *** [CMakeFiles/unit_test.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [contracts_unit_tests-prefix/src/contracts_unit_tests-stamp/contracts_unit_tests-build] Error 2
make[1]: *** [CMakeFiles/contracts_unit_tests.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[100%] Linking CXX executable eosio.system.wasm
[100%] Built target eosio.system
[ 72%] No install step for 'contracts_project'
[ 77%] No test step for 'contracts_project'
[ 83%] Completed 'contracts_project'
[ 83%] Built target contracts_project
make: *** [all] Error 2

image
image

deckb commented

Is this still an issue for you?

Nope.