Ran into one I cant find an answer for compiling diamond 2.0.5.7 on Ubuntu 16.04 64 bit armv8
ok another new problem: during linking:
build/scrypt_mine.o: In function 'scrypt(void const*, unsigned long, unsigned int*, void*)':
scrypt_mine.cpp: (.text+05c): undefined reference to 'scrypt_core'
collect2: error: ld returned 1 exit status
Makefile:302: recipe for target 'diamond-qt' failed
I give up for tonight, will wait for new wallet source. diamond.pro or Makefile or src/makefile.unix needs update for armv8 I don't know why I cant figure this out ... tried qmake USE_PNP=1 xARCHCPU=armv7l ...
maybe try this hint from feldenthorn:
You'd need to replace any instances of armv7l with whatever your output from the terminal command "uname -p" is.
(source:
https://bit.diamonds/community/index.php/topic,85.msg510.html#msg510 )
Ahh ... uname -p returns aarch64
did a
make clean,
qmake xARCHCPU=aarch64 USE_UPNP=1 and
make USE_UPNP=1 xARCHCPU=aarch64it's compiling again should take a while ... we shall see ...
src/scrypt_mine.cpp: In function 'void scrypt (const void*, size_t, uint32_t*, void*)':
src/scrypt_mine.cpp:105:21: error: 'scrypt_core' was not declared in the scope
Makefile:2203: recipe for target 'build/scrypt_mine.o' failed
around line 80 of src/scrypt_mine.cpp scrypt_core is defined as:
extern "C" void scrypt_core(uint32_t *X, uint32_t *V);
where is the code for this function i can't find it defined anywhere
Built wallet for x86-64 before and never had this problem ...
in src there is a file scrypt-arm.S, scrypt-X86.S , scrypt-X86_64.S
scrypt_core() appears to be defined in these files ...
perhaps with aarch64 no scrypt-*.S file is being selected? how do I fix this
if I modify diamond.pro and makefile.unix as suggested change armv7l references to aarch64
I get a very similar problem in scrypt_mine.cpp
error: 'SCRYPT_BUFFER_SIZE' not declared
and
error: 'scrypt_core' was not declared
I am quite certain although unable to fix this that the problem is in scrypt-arm.S or scrypt_mine.cpp and that cpu not being selected properly, so scrypt_core() not being generated.
perhaps a scrypt-aarch64.S needs to be added or just some fixes in the #ifdef in scrypt-arm.S, this is beyond me
In any case aarch64 (armv8) fails to compile.
I'd be happy to get it running 32 bit DMD wallet for now but build scrypts fail there too (armv7l) under aarch64.