Questions and Answers :
Unix/Linux :
Armbian on Orange Pi 4: error while loading shared libraries: libz.so.1
Message board moderation
| Author | Message |
|---|---|
|
Send message Joined: 3 Jul 20 Posts: 10 Credit: 1,303,039 RAC: 0 |
Hi, I am trying to crunch some workunits on my Orange Pi 4 running Armbian Focal, kernel 4.4.213-rk399 (downgraded due to HDMI issues). Unfortunately, I immediately get this error in the stdout: ../../projects/www.mlcathome.org_mlcathome/mlds_9.61_arm-unknown-linux-gnueabihf: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory The package zlib1g is already installed: zlib1g is already the newest version (1:1.2.11.dfsg-2ubuntu1.2). 0 upgraded, 0 newly installed, 0 to remove and 77 not upgraded. What could be the issue? Thanks :) |
|
Send message Joined: 30 Jun 20 Posts: 462 Credit: 21,406,548 RAC: 0 |
Are you running a 64-bit environment? If so, try installing the 32-bit version of libz, something like: `sudo apt install zlib1g:armhf` .. that said, libz should be included in the appimage so you shouldn't need it, but worth a shot. |
|
Send message Joined: 3 Jul 20 Posts: 10 Credit: 1,303,039 RAC: 0 |
Thanks, after that I got: dlopen(): error loading libfuse.so.2 AppImages require FUSE to run. You might still be able to extract the contents of this AppImage if you run it with the --appimage-extract option. See https://github.com/AppImage/AppImageKit/wiki/FUSE for more information thus using the same logic I installed libfuse2:armhf Now the board is crunching six workunits, we will se in few hours but I think it is working well :) By the way, why does the scheduler download apps for both 32 bit and 64 bit in a 64 bit environment? file mlds_9.61_a* mlds_9.61_aarch64-unknown-linux-gnu: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=51d6e77d008afa7e177385e66d5274a0b203ac54, stripped mlds_9.61_arm-unknown-linux-gnueabihf: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=6b43dbba566d533656f6fec20677a81dde81fc1c, stripped ps aux | grep mlds boinc 13457 95.4 3.9 210080 155632 ? RNl 08:57 2:51 ../../projects/www.mlcathome.org_mlcathome/mlds_9.61_arm-unknown-linux-gnueabihf -a LSTM -w 64 -b 2 -s 32 --lr 0.001 --maxepoch 192 It is working with the 32 bit app. Should I disable the 32 app manually or it is fine? EDIT: I remember I had added this line in cc_config.xml in order to run 32 bit WCG's workunits: <!-- <alt_platform>arm-unknown-linux-gnueabihf</alt_platform>--> Now it is commented, I aborted MLC's workunits, restarted the client but still the only running app is arm-unknown-linux-gnueabihf |
|
Send message Joined: 1 Jul 20 Posts: 22 Credit: 4,873,126 RAC: 84 |
There is no Aarch64 app, there is only a 32-bit ARM application that you can run on a 64-bit board with a 64-bit OS -as you discovered. You might need to do more though, I'd suggest sudo dpkg --add-architecture armhf sudo apt update --fix-missing sudo apt dist-upgrade sudo apt install libc6:armhf libstdc++6:armhf zlib1g:armhf libfuse2:armhf |
©2022 MLC@Home Team
A project of the Cognition, Robotics, and Learning (CORAL) Lab at the University of Maryland, Baltimore County (UMBC)