quark-project / quark

Quark cryptocurrency
http://www.qrknet.info/
MIT License
34 stars 40 forks source link

Compile error: relocation R_X86_64_32S against symbol `grsoT0' can not be used when making a shared object #12

Open ualinker opened 7 years ago

ualinker commented 7 years ago

Ubuntu 17.04 gcc (Ubuntu 6.3.0-12ubuntu2) 6.3.0 20170406 I get this error message from gcc trying to compile the code, here's the full output:

# make
make  all-recursive
make[1]: Entering directory '/usr/local/quarkcoin-cpuminer'
Making all in compat
make[2]: Entering directory '/usr/local/quarkcoin-cpuminer/compat'
make[3]: Entering directory '/usr/local/quarkcoin-cpuminer/compat'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/usr/local/quarkcoin-cpuminer/compat'
make[2]: Leaving directory '/usr/local/quarkcoin-cpuminer/compat'
make[2]: Entering directory '/usr/local/quarkcoin-cpuminer'
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing     -O3 -MT minerd-cpu-miner.o -MD -MP -MF .deps/minerd-cpu-miner.Tpo -c -o minerd-cpu-miner.o `test -f 'cpu-miner.c' || echo './'`cpu-miner.c
mv -f .deps/minerd-cpu-miner.Tpo .deps/minerd-cpu-miner.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing     -O3 -MT minerd-util.o -MD -MP -MF .deps/minerd-util.Tpo -c -o minerd-util.o `test -f 'util.c' || echo './'`util.c
mv -f .deps/minerd-util.Tpo .deps/minerd-util.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing     -O3 -MT minerd-sha2.o -MD -MP -MF .deps/minerd-sha2.Tpo -c -o minerd-sha2.o `test -f 'sha2.c' || echo './'`sha2.c
mv -f .deps/minerd-sha2.Tpo .deps/minerd-sha2.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing     -O3 -MT minerd-sha2-arm.o -MD -MP -MF .deps/minerd-sha2-arm.Tpo -c -o minerd-sha2-arm.o `test -f 'sha2-arm.S' || echo './'`sha2-arm.S
mv -f .deps/minerd-sha2-arm.Tpo .deps/minerd-sha2-arm.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing     -O3 -MT minerd-sha2-x86.o -MD -MP -MF .deps/minerd-sha2-x86.Tpo -c -o minerd-sha2-x86.o `test -f 'sha2-x86.S' || echo './'`sha2-x86.S
mv -f .deps/minerd-sha2-x86.Tpo .deps/minerd-sha2-x86.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing     -O3 -MT minerd-sha2-x64.o -MD -MP -MF .deps/minerd-sha2-x64.Tpo -c -o minerd-sha2-x64.o `test -f 'sha2-x64.S' || echo './'`sha2-x64.S
mv -f .deps/minerd-sha2-x64.Tpo .deps/minerd-sha2-x64.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing     -O3 -MT minerd-scrypt.o -MD -MP -MF .deps/minerd-scrypt.Tpo -c -o minerd-scrypt.o `test -f 'scrypt.c' || echo './'`scrypt.c
mv -f .deps/minerd-scrypt.Tpo .deps/minerd-scrypt.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing     -O3 -MT minerd-scrypt-arm.o -MD -MP -MF .deps/minerd-scrypt-arm.Tpo -c -o minerd-scrypt-arm.o `test -f 'scrypt-arm.S' || echo './'`scrypt-arm.S
mv -f .deps/minerd-scrypt-arm.Tpo .deps/minerd-scrypt-arm.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing     -O3 -MT minerd-scrypt-x86.o -MD -MP -MF .deps/minerd-scrypt-x86.Tpo -c -o minerd-scrypt-x86.o `test -f 'scrypt-x86.S' || echo './'`scrypt-x86.S
mv -f .deps/minerd-scrypt-x86.Tpo .deps/minerd-scrypt-x86.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing     -O3 -MT minerd-scrypt-x64.o -MD -MP -MF .deps/minerd-scrypt-x64.Tpo -c -o minerd-scrypt-x64.o `test -f 'scrypt-x64.S' || echo './'`scrypt-x64.S
mv -f .deps/minerd-scrypt-x64.Tpo .deps/minerd-scrypt-x64.Po
gcc -DHAVE_CONFIG_H -I. -pthread -fno-strict-aliasing     -O3 -MT minerd-quark.o -MD -MP -MF .deps/minerd-quark.Tpo -c -o minerd-quark.o `test -f 'quark.c' || echo './'`quark.c
In file included from quark.c:12:0:
quark.c: In function ‘quarkhash’:
bmw.c:480:11: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         h = final_b; \
           ^
quark.c:95:13: note: in expansion of macro ‘BMW_C’
             BMW_C;
             ^~~~~
In file included from quark.c:15:0:
jh_sse2_opt64.h:343:33: warning: right shift count >= width of type [-Wshift-count-overflow]
         jhSbuffer[56] = ((64*8) >> 56) & 0xff, \
                                 ^
quark.c:124:13: note: in expansion of macro ‘JH_H’
             JH_H;
             ^~~~
jh_sse2_opt64.h:344:33: warning: right shift count >= width of type [-Wshift-count-overflow]
         jhSbuffer[57] = ((64*8) >> 48) & 0xff, \
                                 ^
quark.c:124:13: note: in expansion of macro ‘JH_H’
             JH_H;
             ^~~~
jh_sse2_opt64.h:345:33: warning: right shift count >= width of type [-Wshift-count-overflow]
         jhSbuffer[58] = ((64*8) >> 40) & 0xff, \
                                 ^
quark.c:124:13: note: in expansion of macro ‘JH_H’
             JH_H;
             ^~~~
jh_sse2_opt64.h:346:33: warning: right shift count >= width of type [-Wshift-count-overflow]
         jhSbuffer[59] = ((64*8) >> 32) & 0xff, \
                                 ^
quark.c:124:13: note: in expansion of macro ‘JH_H’
             JH_H;
             ^~~~
mv -f .deps/minerd-quark.Tpo .deps/minerd-quark.Po
gcc  -O3 -pthread  -o minerd minerd-cpu-miner.o minerd-util.o minerd-sha2.o minerd-sha2-arm.o minerd-sha2-x86.o minerd-sha2-x64.o minerd-scrypt.o minerd-scrypt-arm.o minerd-scrypt-x86.o minerd-scrypt-x64.o minerd-quark.o -lcurl -ljansson -lpthread
/usr/bin/ld: minerd-quark.o: relocation R_X86_64_32S against symbol `grsoT0' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
Makefile:470: recipe for target 'minerd' failed
make[2]: *** [minerd] Error 1
make[2]: Leaving directory '/usr/local/quarkcoin-cpuminer'
Makefile:680: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/usr/local/quarkcoin-cpuminer'
Makefile:374: recipe for target 'all' failed
make: *** [all] Error 2