EverGreenCoinDev / EverGreenCoin

EverGreenCoin Official Development Tree
https://www.evergreencoin.org
MIT License
20 stars 12 forks source link

fails to build with PIE flag #2

Closed xbrooks closed 8 years ago

xbrooks commented 8 years ago
make -f makefile.unix -e PIE=1

fails on debian 8 x86_64. unable to build Position Independent Executable.

g++ -O2 -pthread -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter -g -DBOOST_SPIRIT_THREADSAFE -I/home/sid/EverGreenCoin/src -I/home/sid/EverGreenCoin/src/obj -I/home/sid/EverGreenCoin/src/json -DUSE_UPNP=0 -DUSE_IPV6=1 -I/home/sid/EverGreenCoin/src/leveldb/include -I/home/sid/EverGreenCoin/src/leveldb/helpers -DHAVE_BUILD_INFO -fno-stack-protector -fstack-protector-all -Wstack-protector -fPIE -D_FORTIFY_SOURCE=2 -o evergreencoind obj/shabal.o obj/whirlpool.o obj/fugue.o obj/hamsi.o obj/groestl.o obj/blake.o obj/bmw.o obj/skein.o obj/keccak.o obj/shavite.o obj/jh.o obj/luffa.o obj/cubehash.o obj/echo.o obj/simd.o 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/miner.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.o obj/scrypt-arm.o obj/scrypt-x86.o obj/scrypt-x86_64.o obj/txdb-leveldb.o -Wl,-z,relro -Wl,-z,now -pie -Wl,-Bdynamic -l boost_system -l boost_filesystem -l boost_program_options -l boost_thread -l db_cxx -l ssl -l crypto -l z -Wl,-Bdynamic -l dl -l boost_chrono -l boost_date_time -l pthread -l miniupnpc /home/sid/EverGreenCoin/src/leveldb/libleveldb.a /home/sid/EverGreenCoin/src/leveldb/libmemenv.a /usr/bin/ld: obj/shabal.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC obj/shabal.o: error adding symbols: Bad value collect2: error: ld returned 1 exit status makefile.unix:210: recipe for target 'evergreencoind' failed make: *\ [evergreencoind] Error 1

xbrooks commented 8 years ago

RTFM Brooks.

On an Amd64 processor where a library was not compiled with -fPIC, this will cause an error such as: "relocation R_X86_64_32 against `......' can not be used when making a shared object;"

(build-unix.txt) Testing enhancement for this now.

EverGreenCoinDev commented 8 years ago

Merged and small typo corrected in makefile.unix