Zcash v5.5.0 build error on aarch64 Ubuntu

Hi,

I have tried to compile the new v5.5.0 release on the foliwing platform, but failed after about an hour. The log is filled with endless errors, however I thinkg they are well summarised by the below quoted text. Would anyone know what might be the issue?

Hardware: Raspberry Pi 4 8GB
OS: Ubuntu 22.4.1

Error log excerpts:

In file included from libs/thread/src/pthread/thread.cpp:9:
In file included from ./boost/thread/detail/config.hpp:11:
In file included from ./boost/config.hpp:44:
In file included from ./boost/config/detail/select_stdlib_config.hpp:24:
In file included from /home/oscarpzec/zcash/depends/aarch64-unknown-linux-gnu/native/bin/../include/c++/v1/version:197:
In file included from /home/oscarpzec/zcash/depends/aarch64-unknown-linux-gnu/native/bin/../include/c++/v1/__assert:13:
/home/oscarpzec/zcash/depends/aarch64-unknown-linux-gnu/native/bin/../include/c++/v1/__config:13:10: fatal error: '__config_site' file not found
#include <__config_site>
         ^~~~~~~~~~~~~~~
1 error generated.
...failed clang-linux.compile.c++ bin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden/pthread/thread.o...
...skipped <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread.a(clean) for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>pthread/thread.o...
...skipped <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread.a for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>pthread/thread.o...
...skipped <p/home/oscarpzec/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/stage/lib>libboost_thread.a for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread.a...
...skipped <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread-variant-static.cmake for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread.a...
...skipped <p/home/oscarpzec/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/stage/lib/cmake/boost_thread-1.82.0>libboost_thread-variant-static.cmake for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread-variant-static.cmake...
...failed updating 49 targets...
...skipped 45 targets...
...updated 115 targets...
make: Leaving directory '/home/oscarpzec/zcash/depends'
1 Like

I have a orange pi 5 running Orangepi OS bullseye xfce, I have not attempted to build Zcashd on it however (it runs zebrad). I dont know if the rasp and orange img’s are compatible (there is a pi 4 variant) but here is the hub and the imgs are in the indivudual device categories
http://www.orangepi.org/html/serviceAndSupport/index.html

1 Like

You’re probably better off cross-compiling to this platform from desktop Linux, using
HOST=aarch64-unknown-linux-gnu zcutil/build.sh -j$(nproc)

5 Likes

Thank you but my interest is mainly in having zcashd building easily and natively on the Pi under the standard OS flavours (as opposed to actaully having zcashd running for my own use).

2 Likes

Thank you for the corss compile idea and command config. My main interest is in having zcashd building easily and natively on the Pi under the standard OS flavours (as opposed to actaully having zcashd running for my own use in this particular case).

If there isnt anything wrong with my set up, then this is more of a flag to the dev team than a help request. Up to you guys of course whether to prioritise the platform. Thanks.

1 Like

Assuming you are using Ubuntu on the RasPi 4 8GB edition, my native compiles were failing due to a missing __config__site file. I was able to workaround the include issue by copying the file into one directory up the hierarchy.

cp ./depends/aarch64-unknown-linux-gnu/native/include/aarch64-unknown-linux-gnu/c++/v1/__config_site ./depends/aarch64-unknown-linux-gnu/native/bin/../include/c++/v1/

I’ve now got the 5.5.0 node running successfully.

3 Likes

Another user reports a similar build issue and I referenced this thread

zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/./.stamp_built] Error 1

The fix below reportedly did not work

HOST=aarch64-unknown-linux-gnu zcutil/build.sh -j$(nproc)

The latest release, v5.5.1 seems to include a fix for the above issue.
I’ve just compiled successfully without making any tweaks.

Thanks for the help everyone.

2 Likes

The other user reports it working as well :+1:

2 Likes

It’s still not fixed with v5.5.1. I’m trying to build on AWS instance t4xlarge. 4 ARM cores and 16GB of RAM. Debian image.

Building boost...
clang++: /lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by clang++)
clang++: /lib/aarch64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.13' not found (required by clang++)
/home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/tools/build/src/tools/common.jam:1164: in common.match-command-output from module common
error: '"clang++" "-target" "aarch64-unknown-linux-gnu" "-B/home/admin/zcash/depends/aarch64-unknown-linux-gnu/native/bin" "-stdlib=libc++" --version' exited with error code 1
/home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/tools/build/src/tools/clang-linux.jam:101: in get-full-version from module clang-linux
/home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/tools/build/src/tools/clang-linux.jam:106: in get-short-version from module clang-linux
/home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/tools/build/src/tools/clang-linux.jam:55: in clang-linux.init from module clang-linux
/home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/tools/build/src/build/toolset.jam:44: in toolset.using from module toolset
/home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/tools/build/src/tools/clang.jam:33: in clang.init from module clang
/home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/tools/build/src/build/toolset.jam:44: in toolset.using from module toolset
/home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/tools/build/src/build/project.jam:1109: in using from module project-rules
/home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/user-config.jam:1: in modules.load from module user-config
/home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/tools/build/src/build-system.jam:255: in load-config from module build-system
/home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/tools/build/src/build-system.jam:449: in load-configuration-files from module build-system
/home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/tools/build/src/build-system.jam:607: in load from module build-system
/home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/tools/build/src/kernel/modules.jam:294: in import from module modules
/home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/tools/build/src/kernel/bootstrap.jam:135: in module scope from module

make: *** [funcs.mk:277: /home/admin/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/./.stamp_built] Error 1
make: Leaving directory '/home/admin/zcash/depends'
1 Like

Switching OS from Debian to Ubuntu successfully built Boost 1.82, but I still need the fix mentioned by @nick to get the job done. I’ve yet to try v5.6.0-rc1 but hopefully it’ll get the fix with stable release.

2 Likes

I had no issues building the RC in Ubuntu, so definitely would to hear feedback from others on how it works.

I’ve been building zcashd on both a RasPi 4 (my mainnet node) and also in an Ubuntu 22.04 VirtualBox VM.

1 Like

Building 5.6.0-rc1 on ARM instance is still failing for me. Ubuntu 22.04. It needed your quick fix to get through.

1 Like

Can you share the error logs?

1 Like

There were a lot of snippets all saying __config_site not found, like this:

In file included from libs/thread/src/pthread/thread.cpp:9:
In file included from ./boost/thread/detail/config.hpp:11:
In file included from ./boost/config.hpp:44:
In file included from ./boost/config/detail/select_stdlib_config.hpp:24:
In file included from /home/ubuntu/zcash/depends/aarch64-unknown-linux-gnu/native/bin/../include/c++/v1/version:197:
In file included from /home/ubuntu/zcash/depends/aarch64-unknown-linux-gnu/native/bin/../include/c++/v1/__assert:13:
/home/ubuntu/zcash/depends/aarch64-unknown-linux-gnu/native/bin/../include/c++/v1/__config:13:10: fatal error: '__config_site' file not found
#include <__config_site>
         ^~~~~~~~~~~~~~~
1 error generated.
...failed clang-linux.compile.c++ bin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden/pthread/thread.o...
...skipped <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread.a(clean) for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>pthread/thread.o...
...skipped <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread.a for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>pthread/thread.o...
...skipped <p/home/ubuntu/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/stage/lib>libboost_thread.a for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread.a...
...skipped <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread-variant-static.cmake for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread.a...
...skipped <p/home/ubuntu/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/stage/lib/cmake/boost_thread-1.82.0>libboost_thread-variant-static.cmake for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread-variant-static.cmake...
...failed updating 49 targets...
...skipped 45 targets...
...updated 115 targets...
make: *** [funcs.mk:277: /home/ubuntu/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/./.stamp_built] Error 1
make: Leaving directory '/home/ubuntu/zcash/depends'

I followed this instruction:
https://zcash.readthedocs.io/en/latest/rtd_pages/Debian-Ubuntu-build.html

It were working prior to v5.5.0.

1 Like

We will be releasing 5.6.0 later today… there was a fix added during the last release to address this issue. I’m going to try compiling 5.6.0 from the tagged release on my Pi node. I will post updates tonight or early tomorrow.

3 Likes

Hi @nick ,
Interestingly 5.6.0 on the same pi as in the original post above seems to have reverted back to the issue with __config_site, yiedling the same compilaton error:

In file included from libs/thread/src/pthread/thread.cpp:9:
In file included from ./boost/thread/detail/config.hpp:11:
In file included from ./boost/config.hpp:44:
In file included from ./boost/config/detail/select_stdlib_config.hpp:24:
In file included from /home/oscarpzec/zcash/depends/aarch64-unknown-linux-gnu/native/bin/../include/c++/v1/version:197:
In file included from /home/oscarpzec/zcash/depends/aarch64-unknown-linux-gnu/native/bin/../include/c++/v1/__assert:13:
/home/oscarpzec/zcash/depends/aarch64-unknown-linux-gnu/native/bin/../include/c++/v1/__config:13:10: fatal error: '__config_site' file not found
#include <__config_site>
         ^~~~~~~~~~~~~~~
1 error generated.
...failed clang-linux.compile.c++ bin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden/pthread/thread.o...
...skipped <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread.a(clean) for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>pthread/thread.o...
...skipped <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread.a for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>pthread/thread.o...
...skipped <p/home/oscarpzec/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/stage/lib>libboost_thread.a for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread.a...
...skipped <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread-variant-static.cmake for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread.a...
...skipped <p/home/oscarpzec/zcash/depends/work/build/aarch64-unknown-linux-gnu/boost/1_82_0-1a1aa05ae8a/stage/lib/cmake/boost_thread-1.82.0>libboost_thread-variant-static.cmake for lack of <pbin.v2/libs/thread/build/clang-linux-15/release/link-static/threadapi-pthread/threading-multi/visibility-hidden>libboost_thread-variant-static.cmake...
...failed updating 49 targets...
...skipped 45 targets...
...updated 115 targets...
make: Leaving directory '/home/oscarpzec/zcash/depends'

I’m just about to try your sugegsted fix of…

cp ./depends/aarch64-unknown-linux-gnu/native/include/aarch64-unknown-linux-gnu/c++/v1/__config_site ./depends/aarch64-unknown-linux-gnu/native/bin/../include/c++/v1/

1 Like

Yep - your fix worked.

$ cp  
./depends/aarch64-unknown-linux-gnu/native/include/aarch64-unknown-linux-gnu/c++/v1/__config_site
  ./depends/aarch64-unknown-linux-gnu/native/bin/../include/c++/v1/
1 Like

Glad to hear it worked - wanted to follow up and ask if you made any other changes at the OS level between builds… reason being - I was able to compile 5.6.0 without getting that issue again, so trying to track down why it happened in your case.

2 Likes