I installed wangle in Ubuntu 16.04 LTS. But when running echo server example I get a compiling error. Here is the log:
/usr/local/lib/libwangle.a(Acceptor.cpp.o): In function folly::ssl::OpenSSLHash::check_out_size(unsigned long, folly::Range<unsigned char*>)': Acceptor.cpp:(.text._ZN5folly3ssl11OpenSSLHash14check_out_sizeEmNS_5RangeIPhEE[_ZN5folly3ssl11OpenSSLHash14check_out_sizeEmNS_5RangeIPhEE]+0x50): undefined reference tofolly::ssl::OpenSSLHash::check_out_size_throw(unsigned long, folly::Range<unsigned char>)'
/usr/local/lib/libwangle.a(SSLContextManager.cpp.o): In function `void gnu_cxx::new_allocator::construct<folly::PasswordInFile, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&>(folly::PasswordInFile, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)':
SSLContextManager.cpp:(.text._ZN9__gnu_cxx13new_allocatorIN5folly14PasswordInFileEE9constructIS2_JRKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEvPTDpOT0[_ZN9__gnu_cxx13new_allocatorIN5folly14PasswordInFileEE9constructIS2_JRKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEvPTDpOT0]+0x48): undefined reference to `folly::PasswordInFile::PasswordInFile(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
/usr/local/lib/libfizz.a(TicketCodec.cpp.o): In function fizz::server::appendClientCertificate(fizz::server::CertificateStorage, std::shared_ptr<folly::AsyncTransportCertificate const> const&, folly::io::Appender&)': TicketCodec.cpp:(.text+0x3f9): undefined reference tofolly::ssl::OpenSSLCertUtils::derEncode(x509_st&)'
/usr/local/lib/libfizz.a(DefaultCertificateVerifier.cpp.o): In function fizz::DefaultCertificateVerifier::createFromCAFile(fizz::VerificationContext, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': DefaultCertificateVerifier.cpp:(.text+0x59): undefined reference tofolly::ssl::OpenSSLCertUtils::readStoreFromFile(std::cxx11::basic_string<char, std::char_traits, std::allocator >)'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function `fizz::(anonymous namespace)::selfCertFromDataInternal(std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, char, std::vector<std::shared_ptr, std::allocator<std::shared_ptr > > const&)':
Certificate.cpp:(.text+0xb6e): undefined reference to `folly::ssl::OpenSSLCertUtils::readCertsFromBuffer(folly::Range<unsigned char const>)'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function fizz::PeerCertImpl<(fizz::KeyType)0>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12PeerCertImplILNS_7KeyTypeE0EE11getIdentityEv[_ZNK4fizz12PeerCertImplILNS_7KeyTypeE0EE11getIdentityEv]+0x3e): undefined reference tofolly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function fizz::PeerCertImpl<(fizz::KeyType)3>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12PeerCertImplILNS_7KeyTypeE3EE11getIdentityEv[_ZNK4fizz12PeerCertImplILNS_7KeyTypeE3EE11getIdentityEv]+0x3e): undefined reference tofolly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function fizz::PeerCertImpl<(fizz::KeyType)2>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12PeerCertImplILNS_7KeyTypeE2EE11getIdentityEv[_ZNK4fizz12PeerCertImplILNS_7KeyTypeE2EE11getIdentityEv]+0x3e): undefined reference tofolly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function fizz::PeerCertImpl<(fizz::KeyType)1>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12PeerCertImplILNS_7KeyTypeE1EE11getIdentityEv[_ZNK4fizz12PeerCertImplILNS_7KeyTypeE1EE11getIdentityEv]+0x3e): undefined reference tofolly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function fizz::SelfCertImpl<(fizz::KeyType)0>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE0EE11getIdentityEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE0EE11getIdentityEv]+0x46): undefined reference tofolly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function fizz::SelfCertImpl<(fizz::KeyType)0>::getAltIdentities() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE0EE16getAltIdentitiesEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE0EE16getAltIdentitiesEv]+0x45): undefined reference tofolly::ssl::OpenSSLCertUtils::getSubjectAltNamesabi:cxx11'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function fizz::SelfCertImpl<(fizz::KeyType)3>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE3EE11getIdentityEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE3EE11getIdentityEv]+0x46): undefined reference tofolly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function fizz::SelfCertImpl<(fizz::KeyType)3>::getAltIdentities() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE3EE16getAltIdentitiesEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE3EE16getAltIdentitiesEv]+0x45): undefined reference tofolly::ssl::OpenSSLCertUtils::getSubjectAltNamesabi:cxx11'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function fizz::SelfCertImpl<(fizz::KeyType)2>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE2EE11getIdentityEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE2EE11getIdentityEv]+0x46): undefined reference tofolly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function fizz::SelfCertImpl<(fizz::KeyType)2>::getAltIdentities() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE2EE16getAltIdentitiesEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE2EE16getAltIdentitiesEv]+0x45): undefined reference tofolly::ssl::OpenSSLCertUtils::getSubjectAltNamesabi:cxx11'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function fizz::SelfCertImpl<(fizz::KeyType)1>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE1EE11getIdentityEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE1EE11getIdentityEv]+0x46): undefined reference tofolly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function fizz::SelfCertImpl<(fizz::KeyType)1>::getAltIdentities() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE1EE16getAltIdentitiesEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE1EE16getAltIdentitiesEv]+0x45): undefined reference tofolly::ssl::OpenSSLCertUtils::getSubjectAltNamesabi:cxx11'
/usr/local/lib/libfizz.a(FizzUtil.cpp.o): In function `fizz::FizzUtil::readChainFile(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)':
FizzUtil.cpp:(.text+0x30b): undefined reference to folly::ssl::OpenSSLCertUtils::readCertsFromBuffer(folly::Range<unsigned char const*>)' /usr/local/lib/libfizz.a(FizzUtil.cpp.o): In functionfizz::FizzUtil::readPrivateKey(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)':
FizzUtil.cpp:(.text+0x4ba): undefined reference to folly::PasswordInFile::PasswordInFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' FizzUtil.cpp:(.text+0x4e1): undefined reference tofolly::PasswordInFile::~PasswordInFile()'
FizzUtil.cpp:(.text+0x53b): undefined reference to `folly::PasswordInFile::~PasswordInFile()'
collect2: error: ld returned 1 exit status
I installed wangle in Ubuntu 16.04 LTS. But when running echo server example I get a compiling error. Here is the log: /usr/local/lib/libwangle.a(Acceptor.cpp.o): In function::construct<folly::PasswordInFile, std:: cxx11::basic_string<char, std::char_traits, std::allocator > const&>(folly::PasswordInFile , std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)':
SSLContextManager.cpp:(.text._ZN9__gnu_cxx13new_allocatorIN5folly14PasswordInFileEE9constructIS2_JRKNSt7 cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEvPTDpOT0[_ZN9__gnu_cxx13new_allocatorIN5folly14PasswordInFileEE9constructIS2_JRKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEvPTDpOT0]+0x48): undefined reference to `folly::PasswordInFile::PasswordInFile(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
/usr/local/lib/libfizz.a(TicketCodec.cpp.o): In function , std::allocator >)'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function `fizz::(anonymous namespace)::selfCertFromDataInternal(std:: cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, char, std::vector<std::shared_ptr, std::allocator<std::shared_ptr > > const&)':
Certificate.cpp:(.text+0xb6e): undefined reference to `folly::ssl::OpenSSLCertUtils::readCertsFromBuffer(folly::Range<unsigned char const >)'
/usr/local/lib/libfizz.a(Certificate.cpp.o): In function cxx11::basic_string<char, std::char_traits, std::allocator > const&)':
FizzUtil.cpp:(.text+0x30b): undefined reference to , std::allocator > const&, std:: cxx11::basic_string<char, std::char_traits, std::allocator > const&)':
FizzUtil.cpp:(.text+0x4ba): undefined reference to
folly::ssl::OpenSSLHash::check_out_size(unsigned long, folly::Range<unsigned char*>)': Acceptor.cpp:(.text._ZN5folly3ssl11OpenSSLHash14check_out_sizeEmNS_5RangeIPhEE[_ZN5folly3ssl11OpenSSLHash14check_out_sizeEmNS_5RangeIPhEE]+0x50): undefined reference to
folly::ssl::OpenSSLHash::check_out_size_throw(unsigned long, folly::Range<unsigned char>)' /usr/local/lib/libwangle.a(SSLContextManager.cpp.o): In function `void gnu_cxx::new_allocatorfizz::server::appendClientCertificate(fizz::server::CertificateStorage, std::shared_ptr<folly::AsyncTransportCertificate const> const&, folly::io::Appender&)': TicketCodec.cpp:(.text+0x3f9): undefined reference to
folly::ssl::OpenSSLCertUtils::derEncode(x509_st&)' /usr/local/lib/libfizz.a(DefaultCertificateVerifier.cpp.o): In functionfizz::DefaultCertificateVerifier::createFromCAFile(fizz::VerificationContext, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': DefaultCertificateVerifier.cpp:(.text+0x59): undefined reference to
folly::ssl::OpenSSLCertUtils::readStoreFromFile(std::cxx11::basic_string<char, std::char_traitsfizz::PeerCertImpl<(fizz::KeyType)0>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12PeerCertImplILNS_7KeyTypeE0EE11getIdentityEv[_ZNK4fizz12PeerCertImplILNS_7KeyTypeE0EE11getIdentityEv]+0x3e): undefined reference to
folly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11' /usr/local/lib/libfizz.a(Certificate.cpp.o): In functionfizz::PeerCertImpl<(fizz::KeyType)3>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12PeerCertImplILNS_7KeyTypeE3EE11getIdentityEv[_ZNK4fizz12PeerCertImplILNS_7KeyTypeE3EE11getIdentityEv]+0x3e): undefined reference to
folly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11' /usr/local/lib/libfizz.a(Certificate.cpp.o): In functionfizz::PeerCertImpl<(fizz::KeyType)2>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12PeerCertImplILNS_7KeyTypeE2EE11getIdentityEv[_ZNK4fizz12PeerCertImplILNS_7KeyTypeE2EE11getIdentityEv]+0x3e): undefined reference to
folly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11' /usr/local/lib/libfizz.a(Certificate.cpp.o): In functionfizz::PeerCertImpl<(fizz::KeyType)1>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12PeerCertImplILNS_7KeyTypeE1EE11getIdentityEv[_ZNK4fizz12PeerCertImplILNS_7KeyTypeE1EE11getIdentityEv]+0x3e): undefined reference to
folly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11' /usr/local/lib/libfizz.a(Certificate.cpp.o): In functionfizz::SelfCertImpl<(fizz::KeyType)0>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE0EE11getIdentityEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE0EE11getIdentityEv]+0x46): undefined reference to
folly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11' /usr/local/lib/libfizz.a(Certificate.cpp.o): In functionfizz::SelfCertImpl<(fizz::KeyType)0>::getAltIdentities() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE0EE16getAltIdentitiesEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE0EE16getAltIdentitiesEv]+0x45): undefined reference to
folly::ssl::OpenSSLCertUtils::getSubjectAltNamesabi:cxx11' /usr/local/lib/libfizz.a(Certificate.cpp.o): In functionfizz::SelfCertImpl<(fizz::KeyType)3>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE3EE11getIdentityEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE3EE11getIdentityEv]+0x46): undefined reference to
folly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11' /usr/local/lib/libfizz.a(Certificate.cpp.o): In functionfizz::SelfCertImpl<(fizz::KeyType)3>::getAltIdentities() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE3EE16getAltIdentitiesEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE3EE16getAltIdentitiesEv]+0x45): undefined reference to
folly::ssl::OpenSSLCertUtils::getSubjectAltNamesabi:cxx11' /usr/local/lib/libfizz.a(Certificate.cpp.o): In functionfizz::SelfCertImpl<(fizz::KeyType)2>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE2EE11getIdentityEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE2EE11getIdentityEv]+0x46): undefined reference to
folly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11' /usr/local/lib/libfizz.a(Certificate.cpp.o): In functionfizz::SelfCertImpl<(fizz::KeyType)2>::getAltIdentities() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE2EE16getAltIdentitiesEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE2EE16getAltIdentitiesEv]+0x45): undefined reference to
folly::ssl::OpenSSLCertUtils::getSubjectAltNamesabi:cxx11' /usr/local/lib/libfizz.a(Certificate.cpp.o): In functionfizz::SelfCertImpl<(fizz::KeyType)1>::getIdentity() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE1EE11getIdentityEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE1EE11getIdentityEv]+0x46): undefined reference to
folly::ssl::OpenSSLCertUtils::getCommonNameabi:cxx11' /usr/local/lib/libfizz.a(Certificate.cpp.o): In functionfizz::SelfCertImpl<(fizz::KeyType)1>::getAltIdentities() const': Certificate.cpp:(.text._ZNK4fizz12SelfCertImplILNS_7KeyTypeE1EE16getAltIdentitiesEv[_ZNK4fizz12SelfCertImplILNS_7KeyTypeE1EE16getAltIdentitiesEv]+0x45): undefined reference to
folly::ssl::OpenSSLCertUtils::getSubjectAltNamesabi:cxx11' /usr/local/lib/libfizz.a(FizzUtil.cpp.o): In function `fizz::FizzUtil::readChainFile(std::folly::ssl::OpenSSLCertUtils::readCertsFromBuffer(folly::Range<unsigned char const*>)' /usr/local/lib/libfizz.a(FizzUtil.cpp.o): In function
fizz::FizzUtil::readPrivateKey(std::cxx11::basic_string<char, std::char_traitsfolly::PasswordInFile::PasswordInFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' FizzUtil.cpp:(.text+0x4e1): undefined reference to
folly::PasswordInFile::~PasswordInFile()' FizzUtil.cpp:(.text+0x53b): undefined reference to `folly::PasswordInFile::~PasswordInFile()' collect2: error: ld returned 1 exit status