xenoncat/equihash-xenon

Could not build xenoncat object file into zcash daemon.

Closed this issue · 1 comments

Hi,
I am trying to integrate your code into zcash build.

I am getting following error.

libtool: link: /media/sarath/LinuxSlave/GitHub/zcash-clone/depends/x86_64-unknown-linux-gnu/share/../native/bin/ccache g++ -m64 -std=c++11 -pipe -O1 -fwrapv -fno-strict-aliasing -Werror -g -Wformat -Wformat-security -Wstack-protector -fstack-protector-all -fPIE -pthread -Wl,--whole-archive pow/xenoncat/equihash_avx2.o -Wl,--no-whole-archive -Wl,-z -Wl,relro -Wl,-z -Wl,now -pie -o zcashd zcashd-bitcoind.o -fopenmp -L/media/sarath/LinuxSlave/GitHub/zcash-clone/depends/x86_64-unknown-linux-gnu/share/../lib libbitcoin_server.a libbitcoin_common.a univalue/libbitcoin_univalue.a libbitcoin_util.a ./leveldb/libleveldb.a ./leveldb/libmemenv.a secp256k1/.libs/libsecp256k1.a libbitcoin_wallet.a -lboost_filesystem-mt -lboost_program_options-mt -lboost_thread-mt -lboost_chrono-mt -ldb_cxx-5.3 -L/media/sarath/LinuxSlave/GitHub/zcash-clone/depends/x86_64-unknown-linux-gnu/lib -lssl -ldl -lminiupnpc libzcash.a crypto/libbitcoin_crypto.a -lsnark /media/sarath/LinuxSlave/GitHub/zcash-clone/depends/x86_64-unknown-linux-gnu/lib/libgmpxx.a /media/sarath/LinuxSlave/GitHub/zcash-clone/depends/x86_64-unknown-linux-gnu/lib/libgmp.a -lboost_system-mt -lcrypto /media/sarath/LinuxSlave/GitHub/zcash-clone/depends/x86_64-unknown-linux-gnu/lib/libsodium.a -lanl -fopenmp -pthread
/usr/bin/ld: pow/xenoncat/equihash_avx2.o: relocation R_X86_64_32S against `.data' can not be used when making a shared object; recompile with -fPIC

Would it be possible to modify assembly code to generate PositionIndependentCode(PIC) from ASM?

Code changes: https://github.com/sarath-hotspot/zcash/tree/xenoncatexperiments

I believe this has been fixed a few days ago with the commit "Bug fix: 32-bit address assumption related"
The current version does not have R_X86_64_32S. Please retry with the latest version of equihash_avx2.o.