Skip to content

Position Independent Executable #3

@Camisa

Description

@Camisa

While building with ' -e PIE=1 ' per the [Security] notes contained within grain/doc/build-unix.txt the following error appears "when making a shared object" and the build fails. Starting over, without -e PIE=1 results in a satisfactory and clean build.

g++ -O2 -msse2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -g -DBOOST_SPIRIT_THREADSAFE -I/home/cjc/grain/src -I/home/cjc/grain/src/obj -I/usr/include/db5.1 -DUSE_IPV6=1 -I/home/cjc/grain/src/leveldb/include -DUSE_LEVELDB -I/home/cjc/grain/src/leveldb/helpers -DHAVE_BUILD_INFO -fno-stack-protector -fstack-protector-all -Wstack-protector -fPIE -D_FORTIFY_SOURCE=2 -o graind 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-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 boost_chrono -l db_cxx -l ssl -l crypto -Wl,-Bdynamic -l z -l dl -l pthread /home/cjc/grain/src/leveldb/libleveldb.a /home/cjc/grain/src/leveldb/libmemenv.a
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: /home/cjc/grain/src/leveldb/libleveldb.a(db_impl.o): relocation R_X86_64_32S against `_ZTVN7leveldb2DBE' can not be used when making a shared object; recompile with -fPIC
/home/cjc/grain/src/leveldb/libleveldb.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make: *** [graind] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions