openvcash / vcash

A decentralized currency for the internet.
https://vcash.info
GNU Affero General Public License v3.0
36 stars 35 forks source link

Add CMake files for easy build/install of vcash/vcashd. Update header… #4

Open ghost opened 7 years ago

ghost commented 7 years ago

… file to work with newer boost libs

whphhg commented 7 years ago

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}
sum01 commented 6 years ago

Should this be closed? It has a lot of changes to wxVcashGUI, but this is the wrong repo for that.