vcash
vcash copied to clipboard
Add CMake files for easy build/install of vcash/vcashd. Update header…
… file to work with newer boost libs
I've tried building the daemon by following your README. It works on Ubuntu, although the binary is 29MB
and it seems to not obey the SET(CMAKE_BUILD_TYPE "RELEASE")
as it outputs tons of DEBUG messages.
On macOS I've had to change openssl to 1.0.2l
and additionaly install cmake
and wget
using brew. However make
fails with:
[100%] Linking CXX executable vcashd
/usr/local/Cellar/cmake/3.8.2/bin/cmake -E cmake_link_script CMakeFiles/vcashd.dir/link.txt --verbose=1\
/Library/Developer/CommandLineTools/usr/bin/c++ -O3 -DNDEBUG -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/vcashd.dir/coin/test/main.cpp.o -o vcashd libcoin.a libdatabase.a deps/db-6.1.29.NC/libdb_cxx.a deps/db-6.1.29.NC/libdb.a deps/leveldb/libleveldb.a /usr/lib/libssl.dylib /usr/lib/libcrypto.dylib /usr/local/lib/libboost_system-mt.dylib -lpthread \
Undefined symbols for architecture x86_64:\
"_ERR_remove_thread_state", referenced from:\
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in libcoin.a(stack_impl.cpp.o)\
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in libcoin.a(tcp_acceptor.cpp.o)\
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in libcoin.a(http_transport.cpp.o)\
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in libcoin.a(tcp_connection.cpp.o)\
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in libcoin.a(address_manager.cpp.o)\
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in libcoin.a(zerotime_manager.cpp.o)\
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in libcoin.a(chainblender_manager.cpp.o)\
...\
"_EVP_PKEY_CTX_ctrl", referenced from:\
coin::ecdhe::public_key() in libcoin.a(ecdhe.cpp.o)\
database::ecdhe::public_key() in libdatabase.a(ecdhe.cpp.o)\
"_EVP_PKEY_CTX_free", referenced from:\
coin::ecdhe::~ecdhe() in libcoin.a(ecdhe.cpp.o)\
coin::ecdhe::derive_secret_key(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libcoin.a(ecdhe.cpp.o)\
database::ecdhe::~ecdhe() in libdatabase.a(ecdhe.cpp.o)\
database::ecdhe::derive_secret_key(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libdatabase.a(ecdhe.cpp.o)\
"_EVP_PKEY_CTX_new", referenced from:\
coin::ecdhe::public_key() in libcoin.a(ecdhe.cpp.o)\
coin::ecdhe::derive_secret_key(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libcoin.a(ecdhe.cpp.o)\
database::ecdhe::public_key() in libdatabase.a(ecdhe.cpp.o)\
database::ecdhe::derive_secret_key(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libdatabase.a(ecdhe.cpp.o)\
"_EVP_PKEY_CTX_new_id", referenced from:\
coin::ecdhe::public_key() in libcoin.a(ecdhe.cpp.o)\
database::ecdhe::public_key() in libdatabase.a(ecdhe.cpp.o)\
"_EVP_PKEY_derive", referenced from:\
coin::ecdhe::derive_secret_key(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libcoin.a(ecdhe.cpp.o)\
database::ecdhe::derive_secret_key(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libdatabase.a(ecdhe.cpp.o)\
"_EVP_PKEY_derive_init", referenced from:\
coin::ecdhe::derive_secret_key(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libcoin.a(ecdhe.cpp.o)\
database::ecdhe::derive_secret_key(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libdatabase.a(ecdhe.cpp.o)\
"_EVP_PKEY_derive_set_peer", referenced from:\
coin::ecdhe::derive_secret_key(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libcoin.a(ecdhe.cpp.o)\
database::ecdhe::derive_secret_key(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libdatabase.a(ecdhe.cpp.o)\
"_EVP_PKEY_keygen", referenced from:\
coin::ecdhe::public_key() in libcoin.a(ecdhe.cpp.o)\
database::ecdhe::public_key() in libdatabase.a(ecdhe.cpp.o)\
"_EVP_PKEY_keygen_init", referenced from:\
coin::ecdhe::public_key() in libcoin.a(ecdhe.cpp.o)\
database::ecdhe::public_key() in libdatabase.a(ecdhe.cpp.o)\
"_EVP_PKEY_paramgen", referenced from:\
coin::ecdhe::public_key() in libcoin.a(ecdhe.cpp.o)\
database::ecdhe::public_key() in libdatabase.a(ecdhe.cpp.o)\
"_EVP_PKEY_paramgen_init", referenced from:\
coin::ecdhe::public_key() in libcoin.a(ecdhe.cpp.o)\
database::ecdhe::public_key() in libdatabase.a(ecdhe.cpp.o)\
"_TLSv1_1_client_method", referenced from:\
boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in libcoin.a(http_transport.cpp.o)\
boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in libcoin.a(tcp_transport.cpp.o)\
"_TLSv1_1_method", referenced from:\
boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in libcoin.a(http_transport.cpp.o)\
boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in libcoin.a(tcp_transport.cpp.o)\
"_TLSv1_1_server_method", referenced from:\
boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in libcoin.a(http_transport.cpp.o)\
boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in libcoin.a(tcp_transport.cpp.o)\
"_TLSv1_2_client_method", referenced from:\
boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in libcoin.a(http_transport.cpp.o)\
boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in libcoin.a(tcp_transport.cpp.o)\
"_TLSv1_2_method", referenced from:\
boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in libcoin.a(http_transport.cpp.o)\
boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in libcoin.a(tcp_transport.cpp.o)\
"_TLSv1_2_server_method", referenced from:\
boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in libcoin.a(http_transport.cpp.o)\
boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) in libcoin.a(tcp_transport.cpp.o)\
"_WHIRLPOOL", referenced from:\
coin::whirlpool::whirlpool(unsigned char const*, unsigned long const&) in libcoin.a(whirlpool.cpp.o)\
coin::whirlpool::whirlpool(unsigned char const*, unsigned long const&) in libcoin.a(whirlpool.cpp.o)\
coin::whirlpool::hash(unsigned char const*, unsigned long const&) in libcoin.a(whirlpool.cpp.o)\
database::whirlpool::whirlpool(unsigned char const*, unsigned long const&) in libdatabase.a(whirlpool.cpp.o)\
database::whirlpool::whirlpool(unsigned char const*, unsigned long const&) in libdatabase.a(whirlpool.cpp.o)\
database::whirlpool::hash(unsigned char const*, unsigned long const&) in libdatabase.a(whirlpool.cpp.o)\
ld: symbol(s) not found for architecture x86_64\
clang:
\f1\b \cf5 error:
\f0\b0 \cf2 linker command failed with exit code 1 (use -v to see invocation)\
make[2]: *** [vcashd] Error 1\
make[1]: *** [CMakeFiles/vcashd.dir/all] Error 2\
make: *** [all] Error 2}
Should this be closed? It has a lot of changes to wxVcashGUI, but this is the wrong repo for that.