litecoin-project / litecoin

Litecoin source tree
http://www.litecoin.org
MIT License
4.37k stars 3.03k forks source link

ld: symbol(s) not found for architecture x86_64 #170

Closed ccaniff closed 9 years ago

ccaniff commented 10 years ago

I cannot seem to build the litecoind file. I have done the command "make -f makefile.osx" and I get the error in the title. This is my full console log:

/bin/sh ../share/genbuild.sh obj/build.h llvm-g++ -stdlib=libstdc++ -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -g -DMAC_OSX -DMSG_NOSIGNAL=0 -DBOOST_SPIRIT_THREADSAFE -DUSE_UPNP=1 -DUSE_IPV6=1 -I/Users/ccaniff/cactuscoin/src/leveldb/include -I/Users/ccaniff/cactuscoin/src/leveldb/helpers -DHAVE_BUILD_INFO -I"/Users/ccaniff/cactuscoin/src" -I"/Users/ccaniff/cactuscoin/src/obj" -I"/usr/local/include" -I"/usr/local/opt/berkeley-db4/include" -I"/usr/local/opt/openssl/include" -o cactuscoind -L"/usr/local/lib" -L"/usr/local/opt/berkeley-db4/lib" -L"/usr/local/opt/openssl/lib" leveldb/libleveldb.a obj/alert.o obj/version.o obj/checkpoints.o obj/netbase.o obj/addrman.o obj/crypter.o obj/key.o obj/db.o obj/init.o obj/keystore.o obj/main.o obj/net.o obj/protocol.o obj/bitcoinrpc.o obj/rpcdump.o obj/rpcnet.o obj/rpcmining.o obj/rpcwallet.o obj/rpcblockchain.o obj/rpcrawtransaction.o obj/script.o obj/scrypt.o obj/sync.o obj/util.o obj/wallet.o obj/walletdb.o obj/hash.o obj/bloom.o obj/noui.o obj/leveldb.o obj/txdb.o -dead_strip -ldb_cxx-4.8 -lboost_system-mt -lboost_filesystem-mt -lboost_program_options-mt -lboost_thread-mt -lboost_chrono-mt -lssl -lcrypto -lz -lminiupnpc /Users/ccaniff/cactuscoin/src/leveldb/libleveldb.a /Users/ccaniff/cactuscoin/src/leveldb/libmemenv.a Undefined symbols for architecture x86_64: "boost::program_options::to_internal(std::string const&)", referenced from: boost::program_options::detail::basic_config_file_iterator::getline(std::string&) in util.o "boost::program_options::detail::common_config_file_iterator::common_config_file_iterator(std::set<std::string, std::less, std::allocatorstd::string > const&, bool)", referenced from: boost::program_options::detail::basic_config_file_iterator::basic_config_fileiterator(std::istream&, std::set<std::string, std::less, std::allocatorstd::string > const&, bool) in util.o "Db::verify(char const, char const, std::ostream, unsigned int)", referenced from: CDBEnv::Verify(std::string, bool (_)(CDBEnv&, std::string)) in db.o CDBEnv::Salvage(std::string, bool, std::vector<std::pair<std::vector<unsigned char, std::allocator >, std::vector<unsigned char, std::allocator > >, std::allocator<std::pair<std::vector<unsigned char, std::allocator >, std::vector<unsigned char, std::allocator > > > >&) in db.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *\ [cactuscoind] Error 1

I am on a mac, my OS version is 10.9.1.

Any help is appreciated. Thanks!

timburgess commented 9 years ago

There is a pretty extensive issue about this at https://github.com/bitcoin/bitcoin/issues/3228

In a nutshell, on Marvericks (OS X 10.9), Apple removed all GCC compilers (there's a g++ symlink, but it points to clang++) and switched clang++'s default C++ runtime to libc++.

If you installed boost with brew, you will need to uninstall the gcc/libstdc++ compiled Boost binaries by running brew uninstall boost, then run brew install --build-from-source --HEAD boost to download the latest Boost source code, compile it, and add the binaries to your classpath

wtogami commented 9 years ago

https://github.com/litecoin-project/litecoin/commits/exp-0.10-mark10

wtogami commented 9 years ago

https://github.com/litecoin-project/litecoin/tree/master-0.10