ld: symbol(s) not found with OpenSSL (libssl)

Posted by Benjamin on Stack Overflow See other posts from Stack Overflow or by Benjamin
Published on 2010-06-03T05:12:42Z Indexed on 2010/06/03 5:14 UTC
Read the original article Hit count: 387

Filed under:
|
|
|

Hi all,

I'm trying to build TorTunnel on my mac. I've successfully installed the Boost library and its development files. TorTunnel also requires the OpenSSL and its development files.

I've got them installed in /usr/lib/libssl.dylib and /usr/include/openssl/.

When I run the make command this is the error i'm getting:

g++ -ggdb -g -O2 -lssl -lboost_system-xgcc42-mt-1_38  -o torproxy TorProxy.o HybridEncryption.o Connection.o Cell.o Directory.o ServerListing.o Util.o Circuit.o CellEncrypter.o RelayCellDispatcher.o CellConsumer.o ProxyShuffler.o CreateCell.o CreatedCell.o TorTunnel.o SocksConnection.o Network.o  
Undefined symbols:
  "_BN_hex2bn", referenced from:
      Circuit::initializeDhParameters()      in Circuit.o
  "_BN_free", referenced from:
      Circuit::~Circuit()in Circuit.o
      Circuit::~Circuit()in Circuit.o
      CreatedCell::getKeyMaterial(unsigned char**, unsigned char**)in CreatedCell.o
  "_DH_generate_key", referenced from:
      Circuit::initializeDhParameters()      in Circuit.o
  "_PEM_read_bio_RSAPublicKey", referenced from:
      ServerListing::getOnionKey()       in ServerListing.o
  "_BIO_s_mem", referenced from:
      Connection::initializeSSL()       in Connection.o
      Connection::initializeSSL()       in Connection.o
  "_DH_free", referenced from:
      Circuit::~Circuit()in Circuit.o
  "_BIO_ctrl_pending", referenced from:
      Connection::writeFromBuffer(boost::function)in Connection.o
  "_RSA_size", referenced from:
      HybridEncryption::encryptInSingleChunk(unsigned char*, int, unsigned char**, int*, rsa_st*)in HybridEncryption.o
      HybridEncryption::encryptInHybridChunk(unsigned char*, int, unsigned char**, int*, rsa_st*)in HybridEncryption.o
      HybridEncryption::encrypt(unsigned char*, int, unsigned char**, int*, rsa_st*)in HybridEncryption.o
  "_RSA_public_encrypt", referenced from:
      HybridEncryption::encryptInSingleChunk(unsigned char*, int, unsigned char**, int*, rsa_st*)in HybridEncryption.o
      HybridEncryption::encryptInHybridChunk(unsigned char*, int, unsigned char**, int*, rsa_st*)in HybridEncryption.o
  "_BN_num_bits", referenced from:
      CreateCell::CreateCell(unsigned short, dh_st*, rsa_st*)in CreateCell.o
      CreatedCell::getKeyMaterial(unsigned char**, unsigned char**)in CreatedCell.o
      CreatedCell::getKeyMaterial(unsigned char**, unsigned char**)in CreatedCell.o
      CreatedCell::isValid()      in CreatedCell.o
  "_SHA1", referenced from:
      CellEncrypter::expandKeyMaterial(unsigned char*, int, unsigned char*, int)in CellEncrypter.o
  "_BN_bn2bin", referenced from:
      CreateCell::CreateCell(unsigned short, dh_st*, rsa_st*)in CreateCell.o
  "_BN_bin2bn", referenced from:
      CreatedCell::getKeyMaterial(unsigned char**, unsigned char**)in CreatedCell.o
  "_DH_compute_key", referenced from:
      CreatedCell::getKeyMaterial(unsigned char**, unsigned char**)in CreatedCell.o
  "_BIO_new", referenced from:
      Connection::initializeSSL()       in Connection.o
      Connection::initializeSSL()       in Connection.o
  "_BIO_new_mem_buf", referenced from:
      ServerListing::getOnionKey()       in ServerListing.o
  "_AES_ctr128_encrypt", referenced from:
      HybridEncryption::AES_encrypt(unsigned char*, int, unsigned char*, unsigned char*, int)in HybridEncryption.o
      CellEncrypter::aesOperate(Cell&, aes_key_st*, unsigned char*, unsigned char*, unsigned int*)in CellEncrypter.o
  "_BIO_read", referenced from:
      Connection::writeFromBuffer(boost::function)in Connection.o
  "_SHA1_Update", referenced from:
      CellEncrypter::calculateDigest(SHAstate_st*, RelayCell&, unsigned char*)in CellEncrypter.o
      CellEncrypter::initKeyMaterial(unsigned char*)in CellEncrypter.o
      CellEncrypter::initKeyMaterial(unsigned char*)in CellEncrypter.o
  "_SHA1_Final", referenced from:
      CellEncrypter::calculateDigest(SHAstate_st*, RelayCell&, unsigned char*)in CellEncrypter.o
  "_DH_size", referenced from:
      CreatedCell::getKeyMaterial(unsigned char**, unsigned char**)in CreatedCell.o
  "_DH_new", referenced from:
      Circuit::initializeDhParameters()      in Circuit.o
  "_BIO_write", referenced from:
      Connection::readIntoBufferComplete(boost::function, boost::system::error_code const&, unsigned long)in Connection.o
  "_RSA_free", referenced from:
      Circuit::~Circuit()in Circuit.o
  "_BN_dup", referenced from:
      Circuit::initializeDhParameters()      in Circuit.o
      Circuit::initializeDhParameters()      in Circuit.o
  "_BN_new", referenced from:
      Circuit::initializeDhParameters()      in Circuit.o
      Circuit::initializeDhParameters()      in Circuit.o
  "_SHA1_Init", referenced from:
      CellEncrypter::CellEncrypter()in CellEncrypter.o
      CellEncrypter::CellEncrypter()in CellEncrypter.o
  "_RAND_bytes", referenced from:
      HybridEncryption::encryptInHybridChunk(unsigned char*, int, unsigned char**, int*, rsa_st*)in HybridEncryption.o
      Util::getRandomId()      in Util.o
  "_AES_set_encrypt_key", referenced from:
      HybridEncryption::AES_encrypt(unsigned char*, int, unsigned char*, unsigned char*, int)in HybridEncryption.o
      CellEncrypter::initKeyMaterial(unsigned char*)in CellEncrypter.o
      CellEncrypter::initKeyMaterial(unsigned char*)in CellEncrypter.o
  "_BN_set_word", referenced from:
      Circuit::initializeDhParameters()      in Circuit.o
  "_RSA_new", referenced from:
      ServerListing::getOnionKey()       in ServerListing.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [torproxy] Error 1

Any idea how I could fix it?

© Stack Overflow or respective owner

Related posts about c

    Related posts about error