Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No Linux ARM64 binaries available #11

Open
MattF42 opened this issue Jun 11, 2023 · 14 comments
Open

No Linux ARM64 binaries available #11

MattF42 opened this issue Jun 11, 2023 · 14 comments

Comments

@MattF42
Copy link

MattF42 commented Jun 11, 2023

See lower down. V0.6 binaries now available

See lower down. V0.5 binaries now available.


This took quite an effort to build on Ubuntu 22.04 ARM64.

The resulting binaries are available at:
https://home.mattfoster.me.uk/PEPEPOW-v0.4-aarch64-linux.tar.gz

sha256sum /var/www/html/PEPEPOW-v0.4-aarch64-linux.tar.gz
5f12ed5bfd5a0eeccbcb5d9739cf0285ade42471aac73cf499920ee49eacf138 /var/www/html/PEPEPOW-v0.4-aarch64-linux.tar.gz

md5sum /var/www/html/PEPEPOW-v0.4-aarch64-linux.tar.gz
45afa28ce64ebd9176cb8975960c4112 /var/www/html/PEPEPOW-v0.4-aarch64-linux.tar.gz

@machac2018
Copy link

./PEPEPOW-cli: error while loading shared libraries: libboost_thread.so.1.74.0: cannot open shared object file: No such file or directory

@machac2018
Copy link

./PEPEPOW_qt: error while loading shared libraries: libzmq.so.5: cannot open shared object file: No such file or directory
is on RPI4 I tryed installing
sudo apt install libboost-dev

is a plain image of rpi
Raspberry Pi OS Lite
Release date: May 3rd 2023
System: 64-bit
Kernel version: 6.1
Debian version: 11 (bullseye)

@machac2018
Copy link

Do you think is it possible to get it work in ARM32 for RPI3 ??

@MattF42
Copy link
Author

MattF42 commented Jun 12, 2023

libzmq

Try apt install libzmq5

To be clear, I built it on ubuntu 22.04 ARM64 rather than Raspbian. I haven't run it on a Pi4 yet, but no reason to suspect it won't if the correct libraries are in place. If it helps, here is the ldd output:
root@instance-20220901-1936:/home/ubuntu# ldd /usr/local/bin/PEPEPOW_qt
linux-vdso.so.1 (0x0000ffff96788000)
libzmq.so.5 => /lib/aarch64-linux-gnu/libzmq.so.5 (0x0000ffff955d0000)
libboost_filesystem.so.1.74.0 => /lib/aarch64-linux-gnu/libboost_filesystem.so.1.74.0 (0x0000ffff955a0000)
libboost_program_options.so.1.74.0 => /lib/aarch64-linux-gnu/libboost_program_options.so.1.74.0 (0x0000ffff95550000)
libboost_thread.so.1.74.0 => /lib/aarch64-linux-gnu/libboost_thread.so.1.74.0 (0x0000ffff95510000)
libboost_chrono.so.1.74.0 => /lib/aarch64-linux-gnu/libboost_chrono.so.1.74.0 (0x0000ffff954f0000)
libQt5Network.so.5 => /lib/aarch64-linux-gnu/libQt5Network.so.5 (0x0000ffff95320000)
libQt5Widgets.so.5 => /lib/aarch64-linux-gnu/libQt5Widgets.so.5 (0x0000ffff94c60000)
libQt5Gui.so.5 => /lib/aarch64-linux-gnu/libQt5Gui.so.5 (0x0000ffff945f0000)
libQt5DBus.so.5 => /lib/aarch64-linux-gnu/libQt5DBus.so.5 (0x0000ffff94540000)
libQt5Core.so.5 => /lib/aarch64-linux-gnu/libQt5Core.so.5 (0x0000ffff93ff0000)
libprotobuf.so.23 => /lib/aarch64-linux-gnu/libprotobuf.so.23 (0x0000ffff93d40000)
libdb_cxx-5.3.so => /lib/aarch64-linux-gnu/libdb_cxx-5.3.so (0x0000ffff93b70000)
libcrypto.so.3 => /lib/aarch64-linux-gnu/libcrypto.so.3 (0x0000ffff93780000)
libevent_pthreads-2.1.so.7 => /lib/aarch64-linux-gnu/libevent_pthreads-2.1.so.7 (0x0000ffff93760000)
libevent-2.1.so.7 => /lib/aarch64-linux-gnu/libevent-2.1.so.7 (0x0000ffff936f0000)
libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffff934c0000)
libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffff93420000)
libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffff933f0000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff93240000)
/lib/ld-linux-aarch64.so.1 (0x0000ffff9674f000)
libbsd.so.0 => /lib/aarch64-linux-gnu/libbsd.so.0 (0x0000ffff93210000)
libsodium.so.23 => /lib/aarch64-linux-gnu/libsodium.so.23 (0x0000ffff931c0000)
libpgm-5.3.so.0 => /lib/aarch64-linux-gnu/libpgm-5.3.so.0 (0x0000ffff93160000)
libnorm.so.1 => /lib/aarch64-linux-gnu/libnorm.so.1 (0x0000ffff93020000)
libgssapi_krb5.so.2 => /lib/aarch64-linux-gnu/libgssapi_krb5.so.2 (0x0000ffff92fc0000)
libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000ffff92f90000)
libGL.so.1 => /lib/aarch64-linux-gnu/libGL.so.1 (0x0000ffff92e90000)
libpng16.so.16 => /lib/aarch64-linux-gnu/libpng16.so.16 (0x0000ffff92e40000)
libharfbuzz.so.0 => /lib/aarch64-linux-gnu/libharfbuzz.so.0 (0x0000ffff92d60000)
libmd4c.so.0 => /lib/aarch64-linux-gnu/libmd4c.so.0 (0x0000ffff92d40000)
libdbus-1.so.3 => /lib/aarch64-linux-gnu/libdbus-1.so.3 (0x0000ffff92ce0000)
libdouble-conversion.so.3 => /lib/aarch64-linux-gnu/libdouble-conversion.so.3 (0x0000ffff92cb0000)
libicui18n.so.70 => /lib/aarch64-linux-gnu/libicui18n.so.70 (0x0000ffff92980000)
libicuuc.so.70 => /lib/aarch64-linux-gnu/libicuuc.so.70 (0x0000ffff92770000)
libpcre2-16.so.0 => /lib/aarch64-linux-gnu/libpcre2-16.so.0 (0x0000ffff926e0000)
libzstd.so.1 => /lib/aarch64-linux-gnu/libzstd.so.1 (0x0000ffff92610000)
libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000ffff924c0000)
libevent_core-2.1.so.7 => /lib/aarch64-linux-gnu/libevent_core-2.1.so.7 (0x0000ffff92470000)
libmd.so.0 => /lib/aarch64-linux-gnu/libmd.so.0 (0x0000ffff92450000)
libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffff92430000)
libkrb5.so.3 => /lib/aarch64-linux-gnu/libkrb5.so.3 (0x0000ffff92350000)
libk5crypto.so.3 => /lib/aarch64-linux-gnu/libk5crypto.so.3 (0x0000ffff92310000)
libcom_err.so.2 => /lib/aarch64-linux-gnu/libcom_err.so.2 (0x0000ffff922f0000)
libkrb5support.so.0 => /lib/aarch64-linux-gnu/libkrb5support.so.0 (0x0000ffff922d0000)
libGLdispatch.so.0 => /lib/aarch64-linux-gnu/libGLdispatch.so.0 (0x0000ffff92140000)
libGLX.so.0 => /lib/aarch64-linux-gnu/libGLX.so.0 (0x0000ffff920f0000)
libfreetype.so.6 => /lib/aarch64-linux-gnu/libfreetype.so.6 (0x0000ffff92020000)
libgraphite2.so.3 => /lib/aarch64-linux-gnu/libgraphite2.so.3 (0x0000ffff91ff0000)
libsystemd.so.0 => /lib/aarch64-linux-gnu/libsystemd.so.0 (0x0000ffff91f10000)
libicudata.so.70 => /lib/aarch64-linux-gnu/libicudata.so.70 (0x0000ffff902e0000)
libpcre.so.3 => /lib/aarch64-linux-gnu/libpcre.so.3 (0x0000ffff90260000)
libkeyutils.so.1 => /lib/aarch64-linux-gnu/libkeyutils.so.1 (0x0000ffff90240000)
libresolv.so.2 => /lib/aarch64-linux-gnu/libresolv.so.2 (0x0000ffff90210000)
libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000ffff900c0000)
libbrotlidec.so.1 => /lib/aarch64-linux-gnu/libbrotlidec.so.1 (0x0000ffff900a0000)
liblzma.so.5 => /lib/aarch64-linux-gnu/liblzma.so.5 (0x0000ffff90060000)
liblz4.so.1 => /lib/aarch64-linux-gnu/liblz4.so.1 (0x0000ffff90030000)
libcap.so.2 => /lib/aarch64-linux-gnu/libcap.so.2 (0x0000ffff90010000)
libgcrypt.so.20 => /lib/aarch64-linux-gnu/libgcrypt.so.20 (0x0000ffff8ff20000)
libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000ffff8fee0000)
libbrotlicommon.so.1 => /lib/aarch64-linux-gnu/libbrotlicommon.so.1 (0x0000ffff8fea0000)
libgpg-error.so.0 => /lib/aarch64-linux-gnu/libgpg-error.so.0 (0x0000ffff8fe60000)
libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000ffff8fe40000)
libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000ffff8fe20000)

@MattF42
Copy link
Author

MattF42 commented Jun 12, 2023

Do you think is it possible to get it work in ARM32 for RPI3 ??

I'm sure it is, but I don't have an arm32 cross build chain setup, and the chances of building it natively are slim to none (CC+ is a big memory pig). If I get time, I'll post up my cleaned up source tree that builds on Ubuntu 22.04, but it's still a bit of a mess.

@machac2018
Copy link

Do you think is it possible to get it work in ARM32 for RPI3 ??

I'm sure it is, but I don't have an arm32 cross build chain setup, and the chances of building it natively are slim to none (CC+ is a big memory pig). If I get time, I'll post up my cleaned up source tree that builds on Ubuntu 22.04, but it's still a bit of a mess.

Let me know I can procure you and RPI3 environment to test it, or if you give some directions I can try to make it work, I think if we have a inexpensive RPI3 running a wallet node could be great mainly for this moon core update.

@machac2018
Copy link

No luck, will keep trying I get the same message, I Let you know if I find the way, thanks for your help regards

@machac2018
Copy link

libevent-2.1.so.7

Well I give up, install a lot of required libraries but always a newone appears, until
./PEPEPOW_qt: /lib/aarch64-linux-gnu/libcrypto.so.3: version OPENSSL_3.0.0' not found (required by ./PEPEPOW_qt) ./PEPEPOW_qt: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by ./PEPEPOW_qt)
./PEPEPOW_qt: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by ./PEPEPOW_qt) ./PEPEPOW_qt: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by ./PEPEPOW_qt)
./PEPEPOW_qt: /lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by ./PEPEPOW_qt)
and there is no way to update it, also I recompile the openssl, but doesn't work, Tryed to build the project from the source and was worst if you can share the sources you use in your project I can try to recompile it for RPI4 and Will share it with the community.

thanks in advance regards

@MattF42
Copy link
Author

MattF42 commented Jun 18, 2023

Version 0.5 now available for ARM64 - complete with all the necessary libraries.
https://home.mattfoster.me.uk/PEPEPOW-v0.5-aarch64-linux.tar.gz

md5: bef5f21ad2a7285913babd65226ea880 PEPEPOW-v0.5-aarch64-linux.tar.gz
SHA256: 8f1db233bfe353d71e412788c18b0792f26312ec0e2c6be77952fcabb4440248 PEPEPOW-v0.5-aarch64-linux.tar.gz

The tar ball contains opt/PEPEPOW/lib and opt/PEPEPOW/bin

Extract it into the root filesystem, and then do
export LD_LIBRARY_PATH=/opt/PEPEPOW/lib:$LD_LIBRARY_PATH
export PATH=/opt/PEPEPOW/bin:$PATH

This should allow you to run without going through the library dependency hell

@MattF42
Copy link
Author

MattF42 commented Jun 18, 2023

Source tarball which compiles against modern versions of libboost available at

https://home.mattfoster.me.uk/pepe-0.5-src.tar.gz

source code - hopefully useful to someone wanting to compile for a non X64 architecture.

@machac2018
Copy link

Source tarball which compiles against modern versions of libboost available at

https://home.mattfoster.me.uk/pepe-0.5-src.tar.gz

source code - hopefully useful to someone wanting to compile for a non X64 architecture.

Great I am trying, to make it work on RPI4 , First I tried with the binaries and the libraries posted, but also fail and then tryed to recompile this source, I execute the configure and I get this error

checking for Berkeley DB C++ headers... default
configure: error: Found Berkeley DB other than 4.8, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality), now trying to recompile the version of DB

@MattF42
Copy link
Author

MattF42 commented Jun 19, 2023

Source tarball which compiles against modern versions of libboost available at
https://home.mattfoster.me.uk/pepe-0.5-src.tar.gz
source code - hopefully useful to someone wanting to compile for a non X64 architecture.

Great I am trying, to make it work on RPI4 , First I tried with the binaries and the libraries posted, but also fail and then tryed to recompile this source, I execute the configure and I get this error

checking for Berkeley DB C++ headers... default configure: error: Found Berkeley DB other than 4.8, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality), now trying to recompile the version of DB

It's relatively easy to compile, or you can loose the wallet portability and configure with --with-incompatible-bdb

@MattF42
Copy link
Author

MattF42 commented Jun 19, 2023

I've forked the tree, committed my changes, and submitted a PR to get this merged in.
Whilst we're waiting for that, you may find it easiest to check the modified source code out from
https://github.com/MattF42/PePe-core

(Updated to v0.6)

@MattF42
Copy link
Author

MattF42 commented Jun 24, 2023

V0.6 Binaries

https://home.mattfoster.me.uk/PEPEPOW-v0.6-aarch64-linux.tar.gz
$ md5sum PEPEPOW-v0.6-aarch64-linux.tar.gz
7a1fb65e9f8b7cc5f9e457a06e8ec2d2 PEPEPOW-v0.6-aarch64-linux.tar.gz
$ sha256sum PEPEPOW-v0.6-aarch64-linux.tar.gz
b5bd0fd1512b5232ff00da3d6aca505f4c095de59f2b71e2ec920117604983e9 PEPEPOW-v0.6-aarch64-linux.tar.gz

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants