Jump to content
Kokum

Problem compiling wallet on ARM

Recommended Posts

Kokum    Kokum
1

4 posts
0 BF$

Hi,

i am trying to compile latest wallet on ubuntu 18.04 on ARM platform but getting error like below. Can you help, please? Thanks.

In file included from tor/orconfig.h:13:0,
                 from tor/backtrace.c:16:
tor/backtrace.c: In function 'clean_backtrace':
tor/orconfig_linux.h:578:37: error: 'mcontext_t {aka const struct <anonymous>}' has no member named 'gregs'
 #define PC_FROM_UCONTEXT uc_mcontext.gregs[REG_RIP]
                                     ^
tor/backtrace.c:88:27: note: in expansion of macro 'PC_FROM_UCONTEXT'
   stack[n] = (void*) ctx->PC_FROM_UCONTEXT;
                           ^~~~~~~~~~~~~~~~
tor/orconfig_linux.h:578:44: error: 'REG_RIP' undeclared (first use in this function); did you mean 'REG_R15'?
 #define PC_FROM_UCONTEXT uc_mcontext.gregs[REG_RIP]
                                            ^
tor/backtrace.c:88:27: note: in expansion of macro 'PC_FROM_UCONTEXT'
   stack[n] = (void*) ctx->PC_FROM_UCONTEXT;
                           ^~~~~~~~~~~~~~~~
tor/orconfig_linux.h:578:44: note: each undeclared identifier is reported only once for each function it appears in
 #define PC_FROM_UCONTEXT uc_mcontext.gregs[REG_RIP]
                                            ^
tor/backtrace.c:88:27: note: in expansion of macro 'PC_FROM_UCONTEXT'
   stack[n] = (void*) ctx->PC_FROM_UCONTEXT;
                           ^~~~~~~~~~~~~~~~
makefile.unix:458: recipe for target 'obj/backtrace.o' failed
make: *** [obj/backtrace.o] Error 1

Share this post


Link to post
Share on other sites
Kokum    Kokum
1

4 posts
0 BF$

Hi, I was able to compile the wallet (daemon - denariusd) I had to use makefile.arm instead of makefile.unix.  However, another problem arose - the wallet does not sync. I am trying to download the last chaindata from https://pos.watch/chaindata.zip but after start denariusd it do not get new blocks but stay at 2667869 Instead there are errors:

ProcessMessages(ping, 8 bytes) : Exception 'CDataStream::read() : end of data: iostream error' caught, normally caused by a message being shorter than its stated length
ProcessMessage(ping, 8 bytes) FAILED
ERROR: CheckProofOfStake() : INFO: read txPrev failed
WARNING: AcceptBlock(): check proof-of-stake failed for block e4888052fe3768e83389654f56990f7aa7f8076b4f7f132e465cf971798e8eca
ERROR: ProcessBlock() : AcceptBlock FAILED
ERROR: FetchInputs() : 225ef5b75d mempool Tx prev not found 3de53cd669

and many ORPHANs:

ProcessBlock: ORPHAN BLOCK, prev=0000000000186ef85ab2
ERROR: ProcessBlock() : already have block (orphan) 0000000000179db13774
ProcessBlock: ORPHAN BLOCK, prev=6d3bdd0dcf999bc64882
ERROR: ProcessBlock() : already have block (orphan) 024efe77cb8538559247
ProcessBlock: ORPHAN BLOCK, prev=a89d8af759325f8412dc
ERROR: ProcessBlock() : already have block (orphan) 00000000001cf2ae2380
ProcessBlock: ORPHAN BLOCK, prev=6e70ef0fd2ceb20cdef7
ERROR: ProcessBlock() : already have block (orphan) 41e8f7dd14b9daaba330
ProcessBlock: ORPHAN BLOCK, prev=8f20ac4f7e1b82ea1c1c
ERROR: ProcessBlock() : already have block (orphan) 00000000001aa9bd4a30
 

  • Upvote 1

Share this post


Link to post
Share on other sites
303

453 posts
1180 BF$

For some reason AMD64 and ARM chaindata's are not compatible. So I split them up here.

https://chaindata.pos.watch/


If you enjoy my content please consider donating to the Denarius creator - https://www.patreon.com/carsenk
Join Denarius Discord - https://discord.gg/JQEmXwb

Share this post


Link to post
Share on other sites
303

453 posts
1180 BF$

Try compiling latest v3.3.9.7 branch. Syncing from block 0 might be fast enough where it will take a day or 2 on ARM now. Otherwise I found using chaindata and restarting the wallet a few times to get past the orphans works.


If you enjoy my content please consider donating to the Denarius creator - https://www.patreon.com/carsenk
Join Denarius Discord - https://discord.gg/JQEmXwb

Share this post


Link to post
Share on other sites
Ghost    Ghost
256

324 posts
657 BF$
On 1/29/2020 at 6:47 AM, Kokum said:

Unfortunately nothing helps. When using chaindata I've restarted the daemon a dozen times and it didn't help. When I tried to sync from the beginning on v3.3.9.7 it always stops on block 1429. Please see attached screen. 

denariusd.jpg

Try using the chaindata from https://denarii.cloud (There is one specifically for ARM powered devices) you extract that into your Denarius data directory (usually ~/.denarius/ on Linux if not using Snapcraft)

  • Like 1

Founder of BlockForums.org - PM me for any help - Join our Discord Server: https://discord.gg/UPpQy3n

Share this post


Link to post
Share on other sites
303

453 posts
1180 BF$

Yes the chaindata will work as I tried this about a week ago on an ARM setup, raspberry pi4 4gb. Now that more people are on latest wallet the sync is fast again. Please try again.


If you enjoy my content please consider donating to the Denarius creator - https://www.patreon.com/carsenk
Join Denarius Discord - https://discord.gg/JQEmXwb

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...