Author

Topic: Compiling a Scrypt POS/POW Alt-Coin Client on Linux (Read 2499 times)

member
Activity: 182
Merit: 10
Thank you; turns out I had one include path too many in the OpenSSL piece.
hero member
Activity: 826
Merit: 1000
see my profile
member
Activity: 182
Merit: 10
Hello,

I am attempting to build a client from source (GalaxyCoin in this case).

Here is how I am setting up the build to install:

Code:
wget -O /root/openssl.tar.gz http://www.openssl.org/source/openssl-1.0.1f.tar.gz
tar -zxf /root/openssl.tar.gz -C /root/OpenSSL
cd /root/OpenSSL/openssl-1.0.1f/
./config enable-ec enable-ecdh enable-ecdsa
make depend
make install
/usr/local/ssl/lib/
git clone git://github.com/icecube45/galaxycoin galaxycoin
cd galaxycoin/src
BDB_INCLUDE_PATH=/usr/include/db4.8 OPENSSL_INCLUDE_PATH=$OpenSSLWorkingDirectory/openssl-1.0.1f/include OPENSSL_LIB_PATH=/usr/local/ssl/lib/ BDB_LIB_PATH=/usr/lib make -f makefile.unix USE_UPNP=-

The build starts but then when the time comes to do the linking I get the following errors:

Code:
g++ -c -O2 -msse2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -g -DBOOST_SPIRIT_THREADSAFE -I/root/galaxycoin/src -I/root/galaxycoin/src/obj -I/usr/include/db4.8 -I/root/OpenSSL/openssl-1.0.1f/include -DUSE_IPV6=1 -DHAVE_BUILD_INFO -fno-stack-protector -fstack-protector-all -Wstack-protector -D_FORTIFY_SOURCE=2  -MMD -o obj/scrypt-x86.o scrypt-x86.S
g++ -c -O2 -msse2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -g -DBOOST_SPIRIT_THREADSAFE -I/root/galaxycoin/src -I/root/galaxycoin/src/obj -I/usr/include/db4.8 -I/root/OpenSSL/openssl-1.0.1f/include -DUSE_IPV6=1 -DHAVE_BUILD_INFO -fno-stack-protector -fstack-protector-all -Wstack-protector -D_FORTIFY_SOURCE=2  -MMD -o obj/scrypt-x86_64.o scrypt-x86_64.S
g++ -O2 -msse2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -g -DBOOST_SPIRIT_THREADSAFE -I/root/galaxycoin/src -I/root/galaxycoin/src/obj -I/usr/include/db4.8 -I/root/OpenSSL/openssl-1.0.1f/include -DUSE_IPV6=1 -DHAVE_BUILD_INFO -fno-stack-protector -fstack-protector-all -Wstack-protector -D_FORTIFY_SOURCE=2  -o galaxycoind 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/irc.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/sync.o obj/util.o obj/wallet.o obj/walletdb.o obj/noui.o obj/kernel.o obj/pbkdf2.o obj/scrypt_mine.o obj/scrypt-x86.o obj/scrypt-x86_64.o -Wl,-z,relro -Wl,-z,now  -L/usr/lib -L/usr/local/ssl/lib/ -Wl,-Bdynamic -l boost_system -l boost_filesystem -l boost_program_options -l boost_thread -l db_cxx -l ssl -l crypto -Wl,-Bdynamic -l z -l dl -l pthread
obj/key.o: In function `EC_KEY_regenerate_key(ec_key_st*, bignum_st*)':
/root/galaxycoin/src/key.cpp:21: undefined reference to `EC_KEY_get0_group'
/root/galaxycoin/src/key.cpp:26: undefined reference to `EC_POINT_new'
/root/galaxycoin/src/key.cpp:31: undefined reference to `EC_POINT_mul'
/root/galaxycoin/src/key.cpp:42: undefined reference to `EC_POINT_free'
/root/galaxycoin/src/key.cpp:34: undefined reference to `EC_KEY_set_private_key'
/root/galaxycoin/src/key.cpp:35: undefined reference to `EC_KEY_set_public_key'
obj/key.o: In function `ECDSA_SIG_recover_key_GFp(ec_key_st*, ECDSA_SIG_st*, unsigned char const*, int, int, int)':
/root/galaxycoin/src/key.cpp:73: undefined reference to `EC_KEY_get0_group'
/root/galaxycoin/src/key.cpp:77: undefined reference to `EC_GROUP_get_order'
/root/galaxycoin/src/key.cpp:117: undefined reference to `EC_POINT_free'
/root/galaxycoin/src/key.cpp:118: undefined reference to `EC_POINT_free'
/root/galaxycoin/src/key.cpp:119: undefined reference to `EC_POINT_free'
/root/galaxycoin/src/key.cpp:83: undefined reference to `EC_GROUP_get_curve_GFp'
/root/galaxycoin/src/key.cpp:85: undefined reference to `EC_POINT_new'
/root/galaxycoin/src/key.cpp:86: undefined reference to `EC_POINT_set_compressed_coordinates_GFp'
/root/galaxycoin/src/key.cpp:89: undefined reference to `EC_POINT_new'
/root/galaxycoin/src/key.cpp:90: undefined reference to `EC_POINT_mul'
/root/galaxycoin/src/key.cpp:91: undefined reference to `EC_POINT_is_at_infinity'
/root/galaxycoin/src/key.cpp:93: undefined reference to `EC_POINT_new'
/root/galaxycoin/src/key.cpp:94: undefined reference to `EC_GROUP_get_degree'
/root/galaxycoin/src/key.cpp:107: undefined reference to `EC_POINT_mul'
/root/galaxycoin/src/key.cpp:108: undefined reference to `EC_KEY_set_public_key'
obj/key.o: In function `CKey::SetCompressedPubKey()':
/root/galaxycoin/src/key.cpp:125: undefined reference to `EC_KEY_set_conv_form'
obj/key.o: In function `CKey::Reset()':
/root/galaxycoin/src/key.cpp:133: undefined reference to `EC_KEY_free'
/root/galaxycoin/src/key.cpp:134: undefined reference to `EC_KEY_new_by_curve_name'
obj/key.o: In function `CKey':
/root/galaxycoin/src/key.cpp:148: undefined reference to `EC_KEY_dup'
obj/key.o: In function `CKey::operator=(CKey const&)':
/root/galaxycoin/src/key.cpp:156: undefined reference to `EC_KEY_copy'
obj/key.o: In function `CKey::MakeNewKey(bool)':
/root/galaxycoin/src/key.cpp:179: undefined reference to `EC_KEY_generate_key'
obj/key.o: In function `CKey::SetPrivKey(std::vector > const&)':
/root/galaxycoin/src/key.cpp:189: undefined reference to `d2i_ECPrivateKey'
/root/galaxycoin/src/key.cpp:194: undefined reference to `EC_KEY_check_key'
obj/key.o: In function `CKey::SetSecret(std::vector > const&, bool)':
/root/galaxycoin/src/key.cpp:211: undefined reference to `EC_KEY_free'
/root/galaxycoin/src/key.cpp:212: undefined reference to `EC_KEY_new_by_curve_name'
obj/key.o: In function `CKey::SetPubKey(CPubKey const&)':
/root/galaxycoin/src/key.cpp:262: undefined reference to `o2i_ECPublicKey'
obj/key.o: In function `CKey::GetPubKey() const':
/root/galaxycoin/src/key.cpp:276: undefined reference to `i2o_ECPublicKey'
/root/galaxycoin/src/key.cpp:281: undefined reference to `i2o_ECPublicKey'
obj/key.o: In function `CKey::SetCompactSignature(uint256, std::vector > const&)':
/root/galaxycoin/src/key.cpp:353: undefined reference to `ECDSA_SIG_new'
/root/galaxycoin/src/key.cpp:357: undefined reference to `EC_KEY_free'
/root/galaxycoin/src/key.cpp:358: undefined reference to `EC_KEY_new_by_curve_name'
/root/galaxycoin/src/key.cpp:367: undefined reference to `ECDSA_SIG_free'
obj/key.o: In function `CKey::Verify(uint256, std::vector > const&)':
/root/galaxycoin/src/key.cpp:376: undefined reference to `ECDSA_verify'
obj/key.o: In function `~CKey':
/root/galaxycoin/src/key.cpp:164: undefined reference to `EC_KEY_free'
/root/galaxycoin/src/key.cpp:164: undefined reference to `EC_KEY_free'
obj/key.o: In function `CKey::Sign(uint256, std::vector >&)':
/root/galaxycoin/src/key.cpp:288: undefined reference to `ECDSA_size'
/root/galaxycoin/src/key.cpp:290: undefined reference to `ECDSA_sign'
obj/key.o: In function `CKey::SignCompact(uint256, std::vector >&)':
/root/galaxycoin/src/key.cpp:306: undefined reference to `ECDSA_do_sign'
obj/key.o: In function `~CKey':
/root/galaxycoin/src/key.cpp:164: undefined reference to `EC_KEY_free'
/root/galaxycoin/src/key.cpp:164: undefined reference to `EC_KEY_free'
obj/key.o: In function `CKey::SignCompact(uint256, std::vector >&)':
/root/galaxycoin/src/key.cpp:338: undefined reference to `ECDSA_SIG_free'
obj/key.o: In function `~CKey':
/root/galaxycoin/src/key.cpp:164: undefined reference to `EC_KEY_free'
obj/key.o: In function `CKey::GetPrivKey() const':
/root/galaxycoin/src/key.cpp:249: undefined reference to `i2d_ECPrivateKey'
/root/galaxycoin/src/key.cpp:254: undefined reference to `i2d_ECPrivateKey'
obj/key.o: In function `CKey::GetSecret(bool&) const':
/root/galaxycoin/src/key.cpp:236: undefined reference to `EC_KEY_get0_private_key'
obj/key.o: In function `CKey::IsValid()':
/root/galaxycoin/src/key.cpp:398: undefined reference to `EC_KEY_check_key'
obj/key.o: In function `~CKey':
/root/galaxycoin/src/key.cpp:164: undefined reference to `EC_KEY_free'
/root/galaxycoin/src/key.cpp:164: undefined reference to `EC_KEY_free'
/root/galaxycoin/src/key.cpp:164: undefined reference to `EC_KEY_free'
collect2: ld returned 1 exit status
make: *** [galaxycoind] Error 1

Has anyone seen this before on Linux?

How did you get past this?

Thank you.
Jump to: