lucasjones / cpuminer-multi

Multi-algo CPUMiner & Reference Cryptonote Miner (JSON-RPC 2.0)
Other
638 stars 1.5k forks source link

Compilation Error Arm64 #52

Open DomainsHax opened 7 years ago

DomainsHax commented 7 years ago

i have an error when i do 'sudo make' on arm64:

cpu-miner.c: In function ‘main’: cpu-miner.c:1823:2: error: impossible constraint in ‘asm’ asm volatile("cpuid":"=a"(where),"=b"((where+1)), ^ lto-wrapper: fatal error: gcc returned 1 exit status compilation terminated. /usr/bin/ld: error: lto-wrapper failed collect2: error: ld returned 1 exit status Makefile:622: recipe for target 'minerd' failed

What can i do? thanks

DarrenRainey commented 7 years ago

I have the same problem

DomainsHax commented 7 years ago

reup

tzhbami7 commented 7 years ago

+1 I'm having the same issues on aarch64 here is the full config.log file https://gist.github.com/tzhbami7/78f264daa3dbc8c85374d4906dd845bb

Hopefully this helps :)

ps. im using a Cavium ThunderX ARMv8 SoC's chip @lucasjones I can give you access to a machine with this processor if you need one

danx-dev commented 7 years ago

+1

Also having same Error on Pine64

motorunner commented 7 years ago

Even I am having the same error on s390 architecture, This is a link error.

Any idea how to fix this and create a cross platform sysinfos.c

g++ -g -O2 -Lyes/lib -Lyes/lib -Lyes/lib -Lyes/lib -o cpuminer cpuminer-cpu-miner.o cpuminer-util.o cpuminer-api.o cpuminer-sysinfos.o cpuminer-uint256.o sha3/cpuminer-sph_keccak.o sha3/cpuminer-sph_hefty1.o sha3/cpuminer-sph_groestl.o sha3/cpuminer-sph_skein.o sha3/cpuminer-sph_bmw.o sha3/cpuminer-sph_jh.o sha3/cpuminer-sph_shavite.o sha3/cpuminer-sph_blake.o sha3/cpuminer-mod_blakecoin.o sha3/cpuminer-sph_luffa.o sha3/cpuminer-sph_cubehash.o sha3/cpuminer-sph_simd.o sha3/cpuminer-sph_echo.o sha3/cpuminer-sph_hamsi.o sha3/cpuminer-sph_haval.o sha3/cpuminer-sph_fugue.o sha3/cpuminer-sph_ripemd.o sha3/cpuminer-sph_sha2.o sha3/cpuminer-sph_sha2big.o sha3/cpuminer-sph_shabal.o sha3/cpuminer-sph_whirlpool.o sha3/cpuminer-gost_streebog.o crypto/cpuminer-blake2s.o crypto/cpuminer-blake2b.o crypto/cpuminer-oaes_lib.o crypto/cpuminer-c_keccak.o crypto/cpuminer-c_groestl.o crypto/cpuminer-c_blake256.o crypto/cpuminer-c_jh.o crypto/cpuminer-c_skein.o crypto/cpuminer-hash.o crypto/cpuminer-aesb.o lyra2/cpuminer-Lyra2.o lyra2/cpuminer-Sponge.o yescrypt/cpuminer-yescrypt-common.o yescrypt/cpuminer-yescrypt-best.o yescrypt/cpuminer-sha256_Y.o algo/cpuminer-axiom.o algo/cpuminer-bastion.o algo/cpuminer-blake.o algo/cpuminer-blakecoin.o algo/cpuminer-blake2.o algo/cpuminer-bmw256.o algo/cpuminer-c11.o algo/cpuminer-cryptonight.o algo/cpuminer-cryptolight.o algo/cpuminer-decred.o algo/cpuminer-drop.o algo/cpuminer-fresh.o algo/cpuminer-groestl.o algo/cpuminer-heavy.o algo/cpuminer-ink.o algo/cpuminer-jha.o algo/cpuminer-lbry.o algo/cpuminer-luffa.o algo/cpuminer-lyra2re.o algo/cpuminer-lyra2rev2.o algo/cpuminer-myr-groestl.o algo/cpuminer-keccak.o algo/cpuminer-pentablake.o algo/cpuminer-quark.o algo/cpuminer-neoscrypt.o algo/cpuminer-nist5.o algo/cpuminer-pluck.o algo/cpuminer-qubit.o algo/cpuminer-scrypt.o algo/cpuminer-scrypt-jane.o algo/cpuminer-sha2.o algo/cpuminer-sia.o algo/cpuminer-sibcoin.o algo/cpuminer-skein.o algo/cpuminer-skein2.o algo/cpuminer-s3.o algo/cpuminer-bitcore.o algo/cpuminer-timetravel.o algo/cpuminer-tribus.o algo/cpuminer-veltor.o algo/cpuminer-x11evo.o algo/cpuminer-x11.o algo/cpuminer-x13.o algo/cpuminer-x14.o algo/cpuminer-x15.o algo/cpuminer-x17.o algo/cpuminer-xevan.o algo/cpuminer-yescrypt.o algo/cpuminer-zr5.o asm/cpuminer-neoscrypt_asm.o -lcurl -lz -lssl -lcrypto compat/jansson/libjansson.a -lpthread
cpu-miner.c: In function 'main': sysinfos.c:122:2: error: inconsistent operand constraints in an 'asm' asm volatile("cpuid" : "=a"(a), "=b"(b), "=c"(c), "=d"(d) : "a"(functionnumber), "c"(0)); ^ lto-wrapper: fatal error: g++ returned 1 exit status compilation terminated. /usr/bin/ld: error: lto-wrapper failed collect2: error: ld returned 1 exit status Makefile:900: recipe for target 'cpuminer' failed make[2]: [cpuminer] Error 1 make[2]: Leaving directory '/home/x0ran/cpuminer-multi' Makefile:2530: recipe for target 'all-recursive' failed make[1]: [all-recursive] Error 1 make[1]: Leaving directory '/home/x0ran/cpuminer-multi' Makefile:570: recipe for target 'all' failed make: *** [all] Error 2 strip: 'cpuminer': No such file

tkinjo1985 commented 7 years ago

it worked Pine64+!

https://github.com/tkinjo1985/cpuminer-multi

DarrenRainey commented 7 years ago

tkinjo1985 I've tryed that it doesn't work for me :( still gives the same error

tkinjo1985 commented 7 years ago

DarrenRainey sorry...now fixed. please try again.

DarrenRainey commented 7 years ago

tkinjo1985 I tryed it again and got a bit closer but now its giving me these errors also I have libcurl4-openssl-dev install

/root/cpuminer-multi/cpu-miner.c:3388: undefined reference to curl_global_init' cpuminer-util.o: In functionjson_load_url': /root/cpuminer-multi/util.c:621: undefined reference to curl_easy_init' /root/cpuminer-multi/util.c:626: undefined reference tocurl_easy_setopt' /root/cpuminer-multi/util.c:627: undefined reference to curl_easy_setopt' /root/cpuminer-multi/util.c:628: undefined reference tocurl_easy_setopt' /root/cpuminer-multi/util.c:629: undefined reference to curl_easy_setopt' /root/cpuminer-multi/util.c:630: undefined reference tocurl_easy_setopt' cpuminer-util.o:/root/cpuminer-multi/util.c:631: more undefined references to c url_easy_setopt' follow cpuminer-util.o: In functionjson_load_url': /root/cpuminer-multi/util.c:645: undefined reference to curl_easy_perform' /root/cpuminer-multi/util.c:657: undefined reference tocurl_easy_cleanup' /root/cpuminer-multi/util.c:641: undefined reference to curl_easy_setopt' /root/cpuminer-multi/util.c:643: undefined reference tocurl_easy_setopt' cpuminer-util.o: In function stratum_connect': /root/cpuminer-multi/util.c:1127: undefined reference tocurl_easy_cleanup' /root/cpuminer-multi/util.c:1128: undefined reference to curl_easy_init' /root/cpuminer-multi/util.c:1152: undefined reference tocurl_easy_setopt' /root/cpuminer-multi/util.c:1153: undefined reference to curl_easy_setopt' /root/cpuminer-multi/util.c:1154: undefined reference tocurl_easy_setopt' /root/cpuminer-multi/util.c:1155: undefined reference to curl_easy_setopt' /root/cpuminer-multi/util.c:1156: undefined reference tocurl_easy_setopt' cpuminer-util.o:/root/cpuminer-multi/util.c:1157: more undefined references to curl_easy_setopt' follow cpuminer-util.o: In functionstratum_connect': /root/cpuminer-multi/util.c:1172: undefined reference to curl_easy_perform' /root/cpuminer-multi/util.c:1175: undefined reference tocurl_easy_cleanup' /root/cpuminer-multi/util.c:1151: undefined reference to curl_easy_setopt' cpuminer-util.o: In functionstratum_disconnect': /root/cpuminer-multi/util.c:1192: undefined reference to curl_easy_cleanup' cpuminer-util.o: In functionjson_rpc_call': /root/cpuminer-multi/util.c:456: undefined reference to curl_easy_setopt' /root/cpuminer-multi/util.c:458: undefined reference tocurl_easy_setopt' /root/cpuminer-multi/util.c:459: undefined reference to curl_easy_setopt' /root/cpuminer-multi/util.c:460: undefined reference tocurl_easy_setopt' /root/cpuminer-multi/util.c:461: undefined reference to curl_easy_setopt' cpuminer-util.o:/root/cpuminer-multi/util.c:462: more undefined references toc url_easy_setopt' follow cpuminer-util.o: In function json_rpc_call': /root/cpuminer-multi/util.c:501: undefined reference tocurl_slist_append' /root/cpuminer-multi/util.c:502: undefined reference to curl_slist_append' /root/cpuminer-multi/util.c:503: undefined reference tocurl_slist_append' /root/cpuminer-multi/util.c:504: undefined reference to curl_slist_append' /root/cpuminer-multi/util.c:508: undefined reference tocurl_easy_setopt' /root/cpuminer-multi/util.c:510: undefined reference to curl_easy_perform' /root/cpuminer-multi/util.c:610: undefined reference tocurl_slist_free_all' /root/cpuminer-multi/util.c:611: undefined reference to curl_easy_reset' /root/cpuminer-multi/util.c:488: undefined reference tocurl_easy_setopt' /root/cpuminer-multi/util.c:474: undefined reference to curl_easy_setopt' /root/cpuminer-multi/util.c:455: undefined reference tocurl_easy_setopt' /root/cpuminer-multi/util.c:514: undefined reference to curl_easy_getinfo' cpuminer-api.o: In functionwebsocket_handshake': /root/cpuminer-multi/api.c:337: undefined reference to `SHA1_Init'

DarrenRainey commented 7 years ago

never mind figured it out need to use this command for configure : ./configure --with-crypto --with-curl

tkinjo1985 commented 7 years ago

what use os? i use armbian.

git clone https://github.com/tkinjo1985/cpuminer-multi.git ./build.sh

DarrenRainey commented 7 years ago

its ok now I just use plain debian

danx-dev commented 7 years ago

I am getting this on my ambian Pine64

In file included from sysinfos.c:12:0: miner.h:33:23: fatal error: curl/curl.h: No such file or directory compilation terminated. Makefile:1219: recipe for target 'cpuminer-sysinfos.o' failed make[2]: [cpuminer-sysinfos.o] Error 1 make[2]: Waiting for unfinished jobs.... util.c:26:23: fatal error: curl/curl.h: No such file or directory compilation terminated. Makefile:1191: recipe for target 'cpuminer-util.o' failed make[2]: [cpuminer-util.o] Error 1 cpu-miner.c:26:23: fatal error: curl/curl.h: No such file or directory compilation terminated. Makefile:1177: recipe for target 'cpuminer-cpu-miner.o' failed make[2]: [cpuminer-cpu-miner.o] Error 1 In file included from api.c:34:0: miner.h:33:23: fatal error: curl/curl.h: No such file or directory compilation terminated. Makefile:1205: recipe for target 'cpuminer-api.o' failed make[2]: [cpuminer-api.o] Error 1 make[2]: Leaving directory '/root/cpuminer-multi' Makefile:2530: recipe for target 'all-recursive' failed make[1]: [all-recursive] Error 1 make[1]: Leaving directory '/root/cpuminer-multi' Makefile:570: recipe for target 'all' failed make: *** [all] Error 2 strip: 'cpuminer': No such file

DarrenRainey commented 7 years ago

danx-dev you need to install libcurl

apt install libcurl4-openssl-dev should work

shnonr commented 6 years ago

If you get cannot find -lz error, you must install zlib1g-dev.

sudo apt-get install zlib1g-dev

Forever-Uselesss commented 3 years ago

Compile error here.

In file included from algo/../scryptjane/scrypt-jane-chacha.h:63, from algo/../scryptjane/scrypt-jane-romix.h:2, from algo/scrypt-jane.c:24: algo/../scryptjane/scrypt-jane-romix-template.h:71:1: warning: ‘fastcall’ attribute directive ignored [-Wattributes] SCRYPT_ROMIX_FN(scrypt_mix_word_t X/[chunkWords]/, scrypt_mix_word_t Y/[chunkWords]/, scrypt_mix_word_t V/[N chunkWords]/, uint32_t N, uint32_t r) { ^~~~~~~ algo/../scryptjane/scrypt-jane-romix-template.h:115:1: warning: ‘fastcall’ attribute directive ignored [-Wattributes] scrypt_ROMix_1(scrypt_mix_word_t X/[chunkWords]/, scrypt_mix_word_t Y/[chunkWords]/, scrypt_mix_word_t V/[N chunkWords]/, uint32_t N) { ^~~~~~ In file included from algo/../scryptjane/scrypt-jane-romix.h:2, from algo/scrypt-jane.c:24: algo/../scryptjane/scrypt-jane-chacha.h: In function ‘scrypt_test_mix’: algo/../scryptjane/scrypt-jane-chacha.h:125:20: warning: implicit declaration of function ‘detect_cpu’; did you mean ‘getentropy’? [-Wimplicit-function-declaration] size_t cpuflags = detect_cpu(); ^~~~~~ getentropy

Cortex-A7 CPU

Kinuseka commented 3 years ago

what use os? i use armbian.

git clone https://github.com/tkinjo1985/cpuminer-multi.git ./build.sh

IT FIXED IT! THANKS Architecture: Debian aarch64 cpu