What OS are you using?
macOS Catalina
What compiler are you using? What version?
Apple clang version 11.0.0(clang-1100.0.33.16
What's your CMake arguments?
cmake .. -DBUILD_JAVA_CLIENT=OFF
What is the output of the CMake and make commands on a fresh build? (Please sanitize any sensitive information)
❯ make -j 64
[ 0%] Built target boost_ep
[ 1%] Built target zlib_ep
[ 2%] Built target libevent_ep
[ 3%] Built target openssl_ep
[ 3%] Building Python client
[ 6%] Built target curl_ep
[ 8%] Built target catch_ep
[ 9%] Built target jemalloc_ep
[ 18%] Built target awssdk_ep
[ 18%] Built target thrift_ep
running build
running build_py
[ 18%] Built target pyclient
[ 38%] Built target jiffy_client
[ 87%] Built target jiffy
[ 88%] Linking CXX executable directoryd
[ 88%] Linking CXX executable storaged
Undefined symbols for architecture x86_64:
"Aws::S3::S3Client::S3Client(Aws::Client::ClientConfiguration const&, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy, bool)", referenced from:
void jiffy::persistent::s3_store_impl::write_impljiffy::storage::string_array(jiffy::storage::string_array const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::write_impljiffy::storage::file_block(jiffy::storage::file_block const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::write_impl<std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > >(std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impljiffy::storage::string_array(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, jiffy::storage::string_array&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impljiffy::storage::file_block(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, jiffy::storage::file_block&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impl<std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > >(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > >&) in persistent_store.cpp.o
(maybe you meant: Aws::S3::S3Client::S3Client(Aws::Client::ClientConfiguration const&, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy, bool, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION))
Undefined symbols for architecture x86_64:
"Aws::S3::S3Client::S3Client(Aws::Client::ClientConfiguration const&, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy, bool)", referenced from:
void jiffy::persistent::s3_store_impl::write_impljiffy::storage::string_array(jiffy::storage::string_array const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::write_impljiffy::storage::file_block(jiffy::storage::file_block const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::write_impl<std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > >(std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impljiffy::storage::string_array(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, jiffy::storage::string_array&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impljiffy::storage::file_block(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, jiffy::storage::file_block&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impl<std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > >(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > >&) in persistent_store.cpp.o
(maybe you meant: Aws::S3::S3Client::S3Client(Aws::Client::ClientConfiguration const&, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy, bool, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION))
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]: *** [directory/directoryd] Error 1
make[1]: *** [directory/CMakeFiles/directoryd.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
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]: *** [storage/storaged] Error 1
make[1]: *** [storage/CMakeFiles/storaged.dir/all] Error 2
[ 88%] Linking CXX executable jiffy_tests
Undefined symbols for architecture x86_64:
"Aws::S3::S3Client::S3Client(Aws::Client::ClientConfiguration const&, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy, bool)", referenced from:
void jiffy::persistent::s3_store_impl::write_impljiffy::storage::string_array(jiffy::storage::string_array const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::write_impljiffy::storage::file_block(jiffy::storage::file_block const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::write_impl<std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > >(std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impljiffy::storage::string_array(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, jiffy::storage::string_array&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impljiffy::storage::file_block(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, jiffy::storage::file_block&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impl<std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > >(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > >&) in persistent_store.cpp.o
(maybe you meant: Aws::S3::S3Client::S3Client(Aws::Client::ClientConfiguration const&, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy, bool, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION))
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]: *** [libjiffy/jiffy_tests] Error 1
make[1]: *** [libjiffy/CMakeFiles/jiffy_tests.dir/all] Error 2
make: *** [all] Error 2
Seems like an error due to the new version of AWS SDK(C++), downgrading to version 1.6.53 resolves the issue.
What OS are you using?
macOS Catalina
What compiler are you using? What version?
Apple clang version 11.0.0(clang-1100.0.33.16
What's your CMake arguments?
cmake .. -DBUILD_JAVA_CLIENT=OFF
What is the output of the CMake and make commands on a fresh build? (Please sanitize any sensitive information)
❯ make -j 64
[ 0%] Built target boost_ep
[ 1%] Built target zlib_ep
[ 2%] Built target libevent_ep
[ 3%] Built target openssl_ep
[ 3%] Building Python client
[ 6%] Built target curl_ep
[ 8%] Built target catch_ep
[ 9%] Built target jemalloc_ep
[ 18%] Built target awssdk_ep
[ 18%] Built target thrift_ep
running build
running build_py
[ 18%] Built target pyclient
[ 38%] Built target jiffy_client
[ 87%] Built target jiffy
[ 88%] Linking CXX executable directoryd
[ 88%] Linking CXX executable storaged
Undefined symbols for architecture x86_64:
"Aws::S3::S3Client::S3Client(Aws::Client::ClientConfiguration const&, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy, bool)", referenced from:
void jiffy::persistent::s3_store_impl::write_impljiffy::storage::string_array(jiffy::storage::string_array const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::write_impljiffy::storage::file_block(jiffy::storage::file_block const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::write_impl<std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > >(std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impljiffy::storage::string_array(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, jiffy::storage::string_array&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impljiffy::storage::file_block(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, jiffy::storage::file_block&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impl<std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > >(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > >&) in persistent_store.cpp.o
(maybe you meant: Aws::S3::S3Client::S3Client(Aws::Client::ClientConfiguration const&, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy, bool, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION))
Undefined symbols for architecture x86_64:
"Aws::S3::S3Client::S3Client(Aws::Client::ClientConfiguration const&, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy, bool)", referenced from:
void jiffy::persistent::s3_store_impl::write_impljiffy::storage::string_array(jiffy::storage::string_array const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::write_impljiffy::storage::file_block(jiffy::storage::file_block const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::write_impl<std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > >(std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impljiffy::storage::string_array(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, jiffy::storage::string_array&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impljiffy::storage::file_block(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, jiffy::storage::file_block&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impl<std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > >(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > >&) in persistent_store.cpp.o
(maybe you meant: Aws::S3::S3Client::S3Client(Aws::Client::ClientConfiguration const&, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy, bool, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION))
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]: *** [directory/directoryd] Error 1
make[1]: *** [directory/CMakeFiles/directoryd.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
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]: *** [storage/storaged] Error 1
make[1]: *** [storage/CMakeFiles/storaged.dir/all] Error 2
[ 88%] Linking CXX executable jiffy_tests
Undefined symbols for architecture x86_64:
"Aws::S3::S3Client::S3Client(Aws::Client::ClientConfiguration const&, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy, bool)", referenced from:
void jiffy::persistent::s3_store_impl::write_impljiffy::storage::string_array(jiffy::storage::string_array const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::write_impljiffy::storage::file_block(jiffy::storage::file_block const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::write_impl<std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > >(std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impljiffy::storage::string_array(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, jiffy::storage::string_array&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impljiffy::storage::file_block(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, jiffy::storage::file_block&) in persistent_store.cpp.o
void jiffy::persistent::s3_store_impl::read_impl<std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > > >(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, std::__1::unordered_map<jiffy::storage::byte_string, jiffy::storage::byte_string, jiffy::storage::hash_type, jiffy::storage::equal_type, std::__1::allocator<std::__1::pair<jiffy::storage::byte_string const, jiffy::storage::byte_string> > >&) in persistent_store.cpp.o
(maybe you meant: Aws::S3::S3Client::S3Client(Aws::Client::ClientConfiguration const&, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy, bool, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION))
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]: *** [libjiffy/jiffy_tests] Error 1
make[1]: *** [libjiffy/CMakeFiles/jiffy_tests.dir/all] Error 2
make: *** [all] Error 2
Seems like an error due to the new version of AWS SDK(C++), downgrading to version 1.6.53 resolves the issue.