Closed pspoerri closed 6 years ago
I'm not sure what is going on here, but it looks like as if the verification framework does not pick up all the libraries from Serialbox.
[100%] Linking CXX executable test_verification Undefined symbols for architecture x86_64: "boost::filesystem::path::operator/=(boost::filesystem::path const&)", referenced from: boost::filesystem::operator/(boost::filesystem::path const&, boost::filesystem::path const&) in libSerialboxCore.a(SerializerImpl.cpp.o) boost::filesystem::operator/(boost::filesystem::path const&, boost::filesystem::path const&) in libSerialboxCore.a(BinaryArchive.cpp.o) "boost::filesystem::detail::dir_itr_close(void*&, void*&)", referenced from: boost::filesystem::detail::dir_itr_imp::~dir_itr_imp() in libSerialboxCore.a(BinaryArchive.cpp.o) "boost::filesystem::detail::last_write_time(boost::filesystem::path const&, boost::system::error_code*)", referenced from: boost::filesystem::last_write_time(boost::filesystem::path const&) in libSerialboxCore.a(SerializerImpl.cpp.o) "boost::filesystem::detail::create_directories(boost::filesystem::path const&, boost::system::error_code*)", referenced from: boost::filesystem::create_directories(boost::filesystem::path const&) in libSerialboxCore.a(BinaryArchive.cpp.o) "boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, boost::system::error_code*)", referenced from: boost::filesystem::directory_iterator::directory_iterator(boost::filesystem::path const&) in libSerialboxCore.a(BinaryArchive.cpp.o) "boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*)", referenced from: boost::filesystem::directory_iterator::increment() in libSerialboxCore.a(BinaryArchive.cpp.o) "boost::filesystem::detail::remove(boost::filesystem::path const&, boost::system::error_code*)", referenced from: boost::filesystem::remove(boost::filesystem::path const&) in libSerialboxCore.a(BinaryArchive.cpp.o) "boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)", referenced from: boost::filesystem::exists(boost::filesystem::path const&) in libSerialboxCore.a(SerializerImpl.cpp.o) boost::filesystem::is_directory(boost::filesystem::path const&) in libSerialboxCore.a(BinaryArchive.cpp.o) boost::filesystem::exists(boost::filesystem::path const&) in libSerialboxCore.a(BinaryArchive.cpp.o) boost::filesystem::is_regular_file(boost::filesystem::path const&) in libSerialboxCore.a(BinaryArchive.cpp.o) "boost::log::v2_mt_posix::record_view::public_data::destroy(boost::log::v2_mt_posix::record_view::public_data const*)", referenced from: boost::log::v2_mt_posix::record::reset() in libSerialboxCore.a(SerializerImpl.cpp.o) boost::log::v2_mt_posix::record::reset() in libSerialboxCore.a(BinaryArchive.cpp.o) boost::log::v2_mt_posix::record::reset() in libSerialboxCore.a(ArchiveFactory.cpp.o) "boost::log::v2_mt_posix::aux::stream_provider<char>::release_compound(boost::log::v2_mt_posix::aux::stream_provider<char>::stream_compound*)", referenced from: boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::auto_release::~auto_release() in libSerialboxCore.a(SerializerImpl.cpp.o) boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::auto_release::~auto_release() in libSerialboxCore.a(BinaryArchive.cpp.o) boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::auto_release::~auto_release() in libSerialboxCore.a(ArchiveFactory.cpp.o) "boost::log::v2_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2_mt_posix::record&)", referenced from: boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>&, boost::log::v2_mt_posix::record&) in libSerialboxCore.a(SerializerImpl.cpp.o) boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>&, boost::log::v2_mt_posix::record&) in libSerialboxCore.a(BinaryArchive.cpp.o) boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>&, boost::log::v2_mt_posix::record&) in libSerialboxCore.a(ArchiveFactory.cpp.o) "boost::log::v2_mt_posix::aux::unhandled_exception_count()", referenced from: boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>&, boost::log::v2_mt_posix::record&) in libSerialboxCore.a(SerializerImpl.cpp.o) boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::~record_pump() in libSerialboxCore.a(SerializerImpl.cpp.o) boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>&, boost::log::v2_mt_posix::record&) in libSerialboxCore.a(BinaryArchive.cpp.o) boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::~record_pump() in libSerialboxCore.a(BinaryArchive.cpp.o) boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>&, boost::log::v2_mt_posix::record&) in libSerialboxCore.a(ArchiveFactory.cpp.o) boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::~record_pump() in libSerialboxCore.a(ArchiveFactory.cpp.o) "boost::log::v2_mt_posix::core::open_record(boost::log::v2_mt_posix::attribute_set const&)", referenced from: boost::log::v2_mt_posix::record boost::log::v2_mt_posix::sources::basic_logger<char, boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>, boost::log::v2_mt_posix::sources::multi_thread_model<boost::log::v2_mt_posix::aux::light_rw_mutex> >::open_record_unlocked<boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> >(boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> const&) in libSerialboxCore.a(SerializerImpl.cpp.o) boost::log::v2_mt_posix::record boost::log::v2_mt_posix::sources::basic_logger<char, boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>, boost::log::v2_mt_posix::sources::multi_thread_model<boost::log::v2_mt_posix::aux::light_rw_mutex> >::open_record_unlocked<boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> >(boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> const&) in libSerialboxCore.a(BinaryArchive.cpp.o) boost::log::v2_mt_posix::record boost::log::v2_mt_posix::sources::basic_logger<char, boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>, boost::log::v2_mt_posix::sources::multi_thread_model<boost::log::v2_mt_posix::aux::light_rw_mutex> >::open_record_unlocked<boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> >(boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> const&) in libSerialboxCore.a(ArchiveFactory.cpp.o) "boost::log::v2_mt_posix::core::push_record_move(boost::log::v2_mt_posix::record&)", referenced from: boost::log::v2_mt_posix::sources::basic_logger<char, boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>, boost::log::v2_mt_posix::sources::multi_thread_model<boost::log::v2_mt_posix::aux::light_rw_mutex> >::push_record_unlocked(boost::log::v2_mt_posix::record&&) in libSerialboxCore.a(SerializerImpl.cpp.o) boost::log::v2_mt_posix::sources::basic_logger<char, boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>, boost::log::v2_mt_posix::sources::multi_thread_model<boost::log::v2_mt_posix::aux::light_rw_mutex> >::push_record_unlocked(boost::log::v2_mt_posix::record&&) in libSerialboxCore.a(BinaryArchive.cpp.o) boost::log::v2_mt_posix::sources::basic_logger<char, boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>, boost::log::v2_mt_posix::sources::multi_thread_model<boost::log::v2_mt_posix::aux::light_rw_mutex> >::push_record_unlocked(boost::log::v2_mt_posix::record&&) in libSerialboxCore.a(ArchiveFactory.cpp.o) "boost::log::v2_mt_posix::sources::aux::get_severity_level()", referenced from: boost::log::v2_mt_posix::sources::aux::severity_level<boost::log::v2_mt_posix::trivial::severity_level>::set_value(boost::log::v2_mt_posix::trivial::severity_level) in libSerialboxCore.a(SerializerImpl.cpp.o) 1 #!/usr/bin/env bash boost::log::v2_mt_posix::sources::aux::severity_level<boost::log::v2_mt_posix::trivial::severity_level>::set_value(boost::log::v2_mt_posix::trivial::severity_level) in libSerialboxCore.a(BinaryArchive.cpp.o) boost::log::v2_mt_posix::sources::aux::severity_level<boost::log::v2_mt_posix::trivial::severity_level>::set_value(boost::log::v2_mt_posix::trivial::severity_level) in libSerialboxCore.a(ArchiveFactory.cpp.o) "boost::log::v2_mt_posix::trivial::logger::get()", referenced from: serialbox::SerializerImpl::SerializerImpl(serialbox::OpenModeKind, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libSerialboxCore.a(SerializerImpl.cpp.o) serialbox::SerializerImpl::upgradeMetaData() in libSerialboxCore.a(SerializerImpl.cpp.o) serialbox::SerializerImpl::constructMetaDataFromJson() in libSerialboxCore.a(SerializerImpl.cpp.o) serialbox::SerializerImpl::write(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, serialbox::SavepointImpl const&, serialbox::StorageView const&) in libSerialboxCore.a(SerializerImpl.cpp.o) serialbox::SerializerImpl::updateMetaData() in libSerialboxCore.a(SerializerImpl.cpp.o) serialbox::SerializerImpl::read(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, serialbox::SavepointImpl const&, serialbox::StorageView&) in libSerialboxCore.a(SerializerImpl.cpp.o) serialbox::SerializerImpl::toJSON() const in libSerialboxCore.a(SerializerImpl.cpp.o) ... "boost::system::system_category()", referenced from: ___cxx_global_var_init.5 in test_serialization.cpp.o ___cxx_global_var_init.5 in test_verification.cpp.o ___cxx_global_var_init.5 in libSerialboxCore.a(SerializerImpl.cpp.o) ___cxx_global_var_init.5 in libSerialboxCore.a(BinaryArchive.cpp.o) ___cxx_global_var_init.5 in libSerialboxCore.a(ArchiveFactory.cpp.o) "boost::system::generic_category()", referenced from: boost::system::error_category::std_category::equivalent(int, std::__1::error_condition const&) const in test_serialization.cpp.o boost::system::error_category::std_category::equivalent(std::__1::error_code const&, int) const in test_serialization.cpp.o ___cxx_global_var_init.3 in test_serialization.cpp.o ___cxx_global_var_init.4 in test_serialization.cpp.o boost::system::error_category::std_category::equivalent(int, std::__1::error_condition const&) const in test_verification.cpp.o boost::system::error_category::std_category::equivalent(std::__1::error_code const&, int) const in test_verification.cpp.o ___cxx_global_var_init.3 in test_verification.cpp.o ... "boost::filesystem::path::filename() const", referenced from: serialbox::BinaryArchive::write(serialbox::StorageView const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<serialbox::FieldMetainfoImpl>) in libSerialboxCore.a(BinaryArchive.cpp.o) serialbox::BinaryArchive::clear() in libSerialboxCore.a(BinaryArchive.cpp.o) "boost::filesystem::path::extension() const", referenced from: boost::filesystem::extension(boost::filesystem::path const&) in libSerialboxCore.a(BinaryArchive.cpp.o) serialbox::ArchiveFactory::archiveFromExtension(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in libSerialboxCore.a(ArchiveFactory.cpp.o) "boost::log::v2_mt_posix::core::get_logging_enabled() const", referenced from: boost::log::v2_mt_posix::record boost::log::v2_mt_posix::sources::basic_composite_logger<char, boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>, boost::log::v2_mt_posix::sources::multi_thread_model<boost::log::v2_mt_posix::aux::light_rw_mutex>, boost::log::v2_mt_posix::sources::features<boost::log::v2_mt_posix::sources::severity<boost::log::v2_mt_posix::trivial::severity_level> > >::open_record<boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> >(boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> const&) in libSerialboxCore.a(SerializerImpl.cpp.o) boost::log::v2_mt_posix::record boost::log::v2_mt_posix::sources::basic_composite_logger<char, boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>, boost::log::v2_mt_posix::sources::multi_thread_model<boost::log::v2_mt_posix::aux::light_rw_mutex>, boost::log::v2_mt_posix::sources::features<boost::log::v2_mt_posix::sources::severity<boost::log::v2_mt_posix::trivial::severity_level> > >::open_record<boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> >(boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> const&) in libSerialboxCore.a(BinaryArchive.cpp.o) boost::log::v2_mt_posix::record boost::log::v2_mt_posix::sources::basic_composite_logger<char, boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>, boost::log::v2_mt_posix::sources::multi_thread_model<boost::log::v2_mt_posix::aux::light_rw_mutex>, boost::log::v2_mt_posix::sources::features<boost::log::v2_mt_posix::sources::severity<boost::log::v2_mt_posix::trivial::severity_level> > >::open_record<boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> >(boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> const&) in libSerialboxCore.a(ArchiveFactory.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[2]: *** [unittest/test_verification] Error 1 make[1]: *** [unittest/CMakeFiles/test_verification.dir/all] Error 2 make: *** [all] Error 2
Serialbox Setup:
-- Found PythonInterp: /usr/local/bin/python3 (found suitable version "3.6.2", minimum required is "3.4") -- Boost version: 1.65.1 -- Found the following Boost libraries: -- filesystem -- system -- log -- date_time -- log_setup -- thread -- regex -- chrono -- atomic
Gridtools Verification Setup:
-- Boost version: 1.65.1 -- Found the following Boost libraries: -- system -- program_options
hacked with the additional libraries:
-- Boost version: 1.65.1 -- Found the following Boost libraries: -- filesystem -- log -- system -- program_options -- system -- log_setup -- thread -- regex -- chrono -- atomic -- date_time
but it somehow still has linking issues.
I think this should be solved by the serialbox2 updates.
I'm not sure what is going on here, but it looks like as if the verification framework does not pick up all the libraries from Serialbox.
Serialbox Setup:
Gridtools Verification Setup:
hacked with the additional libraries:
but it somehow still has linking issues.