graft-project / graft-ng

Supernode for GRAFT Network - 2nd layer Monero implementation for instant transactions and service brokers
http://graft.network
Other
20 stars 14 forks source link

Compiling on Raspberry Pi 4 #420

Open KryptoBilko opened 4 years ago

KryptoBilko commented 4 years ago

Im trying to build the supernode on a Raspberry Pi 4, i made changes to the Cmakelist for compiling on Raspbian Armv7. The power of an actual Raspberry Pi 4 with 4 GB Ram (doing some optimizations like increasing /tmp to 2048mb and slight overclock) should be enough to compile and run a graftnode & supernode on this small device.

Compiling the graftnode works like a charm, of course the synchronization stucks at block 299200 (direct after switching form v11 to v12), maybe you got a hint for me, i tried everything and build the blockchain 5 times with diffderent options, it stucks everytime at he same block.

The compiling of the supernode works until 98% then it failed...

Some Ideas or changes for compiling the supernode on Raspbian armv7 ? I tried Crosscompiling without success.

Im still working on a out-of-the box solution for the new Raspberry Pi 4, including a working Graft & Supernode with an actual lmdb on Board, changes will be here in my new pi fork: https://github.com/KryptoBilko/pigraft

This will push the Graft Network, if everyone can easily setup a supernode at home :-)

mbg033 commented 4 years ago

Compiling the graftnode works like a charm, of course the synchronization stucks at block 299200 (direct after switching form v11 to v12), maybe you got a hint for me, i tried everything and build the blockchain 5 times with diffderent options, it stucks everytime at he same block.

Does it stuck only on Raspberry Pi? Just tried on Linux PC, block 299200 synced ok:

2019-12-24 19:18:46.936     7f08bae4e7c0    INFO    global  src/cryptonote_core/cryptonote_core.cpp:609 Loading checkpoints
2019-12-24 19:18:46.936     7f08bae4e7c0    INFO    global  src/daemon/core.h:92    Core initialized OK
2019-12-24 19:18:46.936     7f08bae4e7c0    INFO    global  src/daemon/rpc.h:78 Starting core rpc server with 4 threads...
2019-12-24 19:18:46.937 [SRV_MAIN]  INFO    global  src/daemon/rpc.h:83 core RPC server started ok
2019-12-24 19:18:46.938 [SRV_MAIN]  INFO    global  src/daemon/p2p.h:78 Starting p2p net loop...
2019-12-24 19:18:48.195 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:310 [167.86.101.148:18980 OUT] Sync data returned a new top block candidate: 299125 -> 509284 [Your node is 210159 blocks (291 days) behind] 
SYNCHRONIZATION started
2019-12-24 19:18:51.479 [P2P4]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299145/509284 (58% 210139 blocks remaining)
2019-12-24 19:18:52.148 [P2P4]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299165/509284 (58% 210119 blocks remaining)
2019-12-24 19:18:53.140 [P2P4]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299185/509284 (58% 210099 blocks remaining)
2019-12-24 19:18:54.701 [P2P4]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299205/509284 (58% 210079 blocks remaining)
2019-12-24 19:18:55.999 [P2P4]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299225/509284 (58% 210059 blocks remaining)
2019-12-24 19:18:56.466 [P2P4]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299245/509284 (58% 210039 blocks remaining)
2019-12-24 19:18:57.109 [P2P4]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299265/509284 (58% 210019 blocks remaining)
2019-12-24 19:18:58.748 [P2P4]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299285/509284 (58% 209999 blocks remaining)
2019-12-24 19:19:02.064 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299305/509284 (58% 209979 blocks remaining)
2019-12-24 19:19:02.951 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299325/509284 (58% 209959 blocks remaining)
2019-12-24 19:19:03.703 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299345/509284 (58% 209939 blocks remaining)
2019-12-24 19:19:07.565 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299365/509284 (58% 209919 blocks remaining)
2019-12-24 19:19:10.116 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299385/509284 (58% 209899 blocks remaining)
2019-12-24 19:19:10.673 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299405/509284 (58% 209879 blocks remaining)
2019-12-24 19:19:13.752 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299425/509284 (58% 209859 blocks remaining)
2019-12-24 19:19:16.415 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299445/509284 (58% 209839 blocks remaining)
2019-12-24 19:19:19.132 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299465/509284 (58% 209819 blocks remaining)
2019-12-24 19:19:21.901 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299485/509284 (58% 209799 blocks remaining)
2019-12-24 19:19:24.097 [P2P2]  INFO    global  src/cryptonote_protocol/cryptonote_protocol_handler.inl:1179    [167.86.101.148:18980 OUT]  Synced 299505/509284 (58% 209779 blocks remaining)

(didn't tried to sync from 0, only popped my blockchain to some point prior block 299200)

The compiling of the supernode works until 98% then it failed... Some Ideas or changes for compiling the supernode on Raspbian armv7 ? I tried Crosscompiling without success.

Unfortunately I don't have RPi4 hardware, so I can only try cross-compiling when I have a time for this (don't have much time right now). If you have some howtos/tips on how to setup environment - please share.

KryptoBilko commented 4 years ago

Thanks for your response :-) I got another Node on Ubuntu 18.04 and it works well, the problem is only at Raspbian. I tried a raw import of an actual lmdb from my ubuntu node, the import works until block 299200, then i got a verification problem...

If i try the import without verification, it imports, of course the blockchain doesnt synchronize with the actual network and stucks at the last imported block. It seems there is a verification problem beginning at v12 (block 299200). (maybe some swap size problems ?) My raspbian graftnode is on actual version 1.9.2. I made some optimizations for compiling like increasing /tmp and swap, better cooling and overclocking to 1800 MHz.

When it all works, im going to create a step-by-step tutorial, for setting up a graft&supernode on a raspberry pi 4 including all tweaks. :-)

At this moment i try to compile the supernode on raspbian again with some new settings, i will post it here with detailed logs.

Do you got some ideas for compiling settings on raspbian ?

mbg033 commented 4 years ago

In near future i'll be only able to help to check your logs - in particular graftnoded's logs while it stuck with synchronizing around the block 299200 and build log. For runtime log:

For build issue - please either pass me a build log or some howto describing how to setup cross-compile environment (toolchain, libraries, etc) so i could try to build myself. But only RPi is have is the RPi3

KryptoBilko commented 4 years ago

Thats my building log, it seems to be a problem with "undefined reference to `__atomic_load_8'" cmake version 3.13.4 libboost 1.6.7

Last try log:

[ 93%] Linking CXX executable ../../bin/graft-blockchain-export /usr/bin/ld: ../blockchain_db/libblockchain_db.a(db_lmdb.cpp.o): in function cryptonote::mdb_txn_safe::mdb_txn_safe(bool)': /usr/include/c++/8/bits/atomic_base.h:514: undefined reference toatomic_fetch_add_8' /usr/bin/ld: ../blockchain_db/libblockchain_db.a(db_lmdb.cpp.o): in function cryptonote::mdb_txn_safe::wait_no_active_txns()': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: ../blockchain_db/libblockchain_db.a(db_lmdb.cpp.o): in function cryptonote::mdb_txn_safe::~mdb_txn_safe()': /usr/include/c++/8/bits/atomic_base.h:524: undefined reference toatomic_fetch_sub_8' /usr/bin/ld: ../blockchain_db/libblockchain_db.a(db_lmdb.cpp.o): in function cryptonote::mdb_txn_safe::num_active_tx() const': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to__atomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(cryptonote_format_utils.cpp.o): in function cryptonote::get_hash_stats(unsigned long long&, unsigned long long&, unsigned long long&, unsigned long long&)': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(cryptonote_format_utils.cpp.o): in functioncryptonote::get_transaction_hash(cryptonote::transaction const&, crypto::hash&, unsigned int*)': /usr/include/c++/8/bits/atomic_base.h:296: undefined reference to `atomic_fetch_add_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:296: undefined reference to __atomic_fetch_add_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(cryptonote_format_utils.cpp.o): in functioncryptonote::get_block_hash(cryptonote::block const&, crypto::hash&)': /usr/include/c++/8/bits/atomic_base.h:296: undefined reference to __atomic_fetch_add_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:296: undefined reference toatomic_fetch_add_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(miner.cpp.o): in function cryptonote::miner::merge_hr()': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to__atomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:374: undefined reference to `atomic_store_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:374: undefined reference to __atomic_store_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:374: undefined reference toatomic_store_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(miner.cpp.o): in functioncryptonote::miner::background_worker_thread()': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:374: undefined reference toatomic_store_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(miner.cpp.o): in functioncryptonote::miner::worker_thread()': /usr/include/c++/8/bits/atomic_base.h:296: undefined reference to __atomic_fetch_add_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(miner.cpp.o): in function cryptonote::miner::get_speed() const': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' collect2: error: ld returned 1 exit status make[5]: [src/blockchain_utilities/CMakeFiles/blockchain_export.dir/build.make:143: bin/graft-blockchain-export] Fehler 1 make[4]: [CMakeFiles/Makefile2:2169: src/blockchain_utilities/CMakeFiles/blockchain_export.dir/all] Fehler 2 make[4]: *** Es wird auf noch nicht beendete Prozesse gewartet.... [ 93%] Linking CXX executable ../../bin/graft-blockchain-import /usr/bin/ld: ../blockchain_db/libblockchain_db.a(db_lmdb.cpp.o): in function cryptonote::mdb_txn_safe::mdb_txn_safe(bool)': /usr/include/c++/8/bits/atomic_base.h:514: undefined reference toatomic_fetch_add_8' /usr/bin/ld: ../blockchain_db/libblockchain_db.a(db_lmdb.cpp.o): in function cryptonote::mdb_txn_safe::wait_no_active_txns()': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: ../blockchain_db/libblockchain_db.a(db_lmdb.cpp.o): in function cryptonote::mdb_txn_safe::~mdb_txn_safe()': /usr/include/c++/8/bits/atomic_base.h:524: undefined reference to__atomic_fetch_sub_8' /usr/bin/ld: ../blockchain_db/libblockchain_db.a(db_lmdb.cpp.o): in function cryptonote::mdb_txn_safe::num_active_tx() const': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(cryptonote_format_utils.cpp.o): in function cryptonote::get_hash_stats(unsigned long long&, unsigned long long&, unsigned long long&, unsigned long long&)': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(cryptonote_format_utils.cpp.o): in functioncryptonote::get_transaction_hash(cryptonote::transaction const&, crypto::hash&, unsigned int*)': /usr/include/c++/8/bits/atomic_base.h:296: undefined reference to __atomic_fetch_add_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:296: undefined reference toatomic_fetch_add_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(cryptonote_format_utils.cpp.o): in function cryptonote::get_block_hash(cryptonote::block const&, crypto::hash&)': /usr/include/c++/8/bits/atomic_base.h:296: undefined reference toatomic_fetch_add_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:296: undefined reference to __atomic_fetch_add_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(miner.cpp.o): in functioncryptonote::miner::merge_hr()': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:374: undefined reference toatomic_store_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:374: undefined reference to __atomic_store_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:374: undefined reference toatomic_store_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(miner.cpp.o): in functioncryptonote::miner::background_worker_thread()': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to `atomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:374: undefined reference to __atomic_store_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(miner.cpp.o): in function cryptonote::miner::worker_thread()': /usr/include/c++/8/bits/atomic_base.h:296: undefined reference toatomic_fetch_add_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(miner.cpp.o): in functioncryptonote::miner::get_speed() const': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to `__atomic_load_8' collect2: error: ld returned 1 exit status make[5]: [src/blockchain_utilities/CMakeFiles/blockchain_import.dir/build.make:143: bin/graft-blockchain-import] Fehler 1 make[4]: [CMakeFiles/Makefile2:2218: src/blockchain_utilities/CMakeFiles/blockchain_import.dir/all] Fehler 2 make[3]: [Makefile:141: all] Fehler 2 make[2]: [CMakeFiles/cryptonode.dir/build.make:111: STAMP/cryptonode/cryptonode-build] Fehler 2 make[1]: [CMakeFiles/Makefile2:192: CMakeFiles/cryptonode.dir/all] Fehler 2 make: [Makefile:84: all] Fehler 2

KryptoBilko commented 4 years ago

Cmake Output: ==> The configuration is RelWithDebInfo. Debug info will be extracted into separate files. -- The C compiler identification is GNU 8.3.0 -- The CXX compiler identification is GNU 8.3.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE
-- Found Git: /usr/bin/git -- Found Boost Version: 106700 -- Found Boost Version: 106700 -- Configuring done -- Generating done -- Build files have been written to: /home/pi/graft/graft-ng/build

mbg033 commented 4 years ago

it seems to be a problem with "undefined reference to `__atomic_load_8'"

So you have this issue while building it as part of graft-ng build but if you build GraftNetwork separately it goes ok, right? if so, i would dump and compare make command line invoked while building in both cases. Or, as quick-and-dirty fix, just add libatomic library for arm target, e.g. like this:

set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic")
KryptoBilko commented 4 years ago

Thanks for your help, it belongs only to graft-ng. I will try your fix now. :-)

I found something useful for crosscompiling here: http://jensd.be/800/linux/cross-compiling-for-arm-with-ubuntu-16-04-lts http://amgaera.github.io/blog/2014/04/10/cross-compiling-for-raspberry-pi-on-64-bit-linux/

KryptoBilko commented 4 years ago

Tried it with: endif(CMAKE_BUILD_TYPE MATCHES RelWithDebInfo)

set(CMAKE_C_FLAGS "-march=armv7") set(CMAKE_CXX_FLAGS "-march=armv7") set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic") project(graft_server)

option(OPT_BUILD_TESTS "Build tests." OFF)

Result: [ 93%] Linking CXX executable ../../bin/graft-blockchain-import /usr/bin/ld: ../blockchain_db/libblockchain_db.a(db_lmdb.cpp.o): in function cryptonote::mdb_txn_safe::mdb_txn_safe(bool)': /usr/include/c++/8/bits/atomic_base.h:514: undefined reference toatomic_fetch_add_8' /usr/bin/ld: ../blockchain_db/libblockchain_db.a(db_lmdb.cpp.o): in function cryptonote::mdb_txn_safe::wait_no_active_txns()': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: ../blockchain_db/libblockchain_db.a(db_lmdb.cpp.o): in function cryptonote::mdb_txn_safe::~mdb_txn_safe()': /usr/include/c++/8/bits/atomic_base.h:524: undefined reference toatomic_fetch_sub_8' /usr/bin/ld: ../blockchain_db/libblockchain_db.a(db_lmdb.cpp.o): in function cryptonote::mdb_txn_safe::num_active_tx() const': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to__atomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(cryptonote_format_utils.cpp.o): in function cryptonote::get_hash_stats(unsigned long long&, unsigned long long&, unsigned long long&, unsigned long long&)': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(cryptonote_format_utils.cpp.o): in functioncryptonote::get_transaction_hash(cryptonote::transaction const&, crypto::hash&, unsigned int*)': /usr/include/c++/8/bits/atomic_base.h:296: undefined reference to `atomic_fetch_add_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:296: undefined reference to __atomic_fetch_add_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(cryptonote_format_utils.cpp.o): in functioncryptonote::get_block_hash(cryptonote::block const&, crypto::hash&)': /usr/include/c++/8/bits/atomic_base.h:296: undefined reference to __atomic_fetch_add_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:296: undefined reference toatomic_fetch_add_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(miner.cpp.o): in function cryptonote::miner::merge_hr()': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to__atomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:374: undefined reference to `atomic_store_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:374: undefined reference to __atomic_store_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:374: undefined reference toatomic_store_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(miner.cpp.o): in functioncryptonote::miner::background_worker_thread()': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:374: undefined reference to__atomic_store_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(miner.cpp.o): in functioncryptonote::miner::worker_thread()': /usr/include/c++/8/bits/atomic_base.h:296: undefined reference to __atomic_fetch_add_8' /usr/bin/ld: /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' /usr/bin/ld: ../cryptonote_basic/libcryptonote_basic.a(miner.cpp.o): in function cryptonote::miner::get_speed() const': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference toatomic_load_8' collect2: error: ld returned 1 exit status make[5]: [src/blockchain_utilities/CMakeFiles/blockchain_import.dir/build.make:143: bin/graft-blockchain-import] Fehler 1 make[4]: [CMakeFiles/Makefile2:2218: src/blockchain_utilities/CMakeFiles/blockchain_import.dir/all] Fehler 2 make[3]: [Makefile:141: all] Fehler 2 make[2]: [CMakeFiles/cryptonode.dir/build.make:111: STAMP/cryptonode/cryptonode-build] Fehler 2 make[1]: [CMakeFiles/Makefile2:192: CMakeFiles/cryptonode.dir/all] Fehler 2 make: [Makefile:84: all] Fehler 2

Am i wrong with these settings ?

KryptoBilko commented 4 years ago

If youre successfull with crosscompiling, please add a compiled arm release ;-) I will help you with testing. Before that, i have to solve the graftnode synchronization problem.

KryptoBilko commented 4 years ago

I extracted from my actual SD-Card an raspbian environment including Toolchain for Crosscompiling: https://mega.nz/#!VNoj1ASD!s-wAiWOMpVViXIXtJ4mM5Ko2KjTHNseKP8g2FoHn8CM graft-ng is also there... :-) Please take a look at the CMakelist i made some changes, commented out:

set(CMAKE_C_FLAGS "-march=native")

set(CMAKE_CXX_FLAGS "-march=native")

correct it, before doing cmake ;-)

KryptoBilko commented 4 years ago

This is far better for compiling & testing: https://www.osboxes.org/raspbian/#raspbian-2019-04-vbox