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

Ubuntu 20.04 aarch64 #51

Open
monkeyx-net opened this issue May 17, 2024 · 8 comments
Open

Ubuntu 20.04 aarch64 #51

monkeyx-net opened this issue May 17, 2024 · 8 comments

Comments

@monkeyx-net
Copy link

I am trying to test and create some appimages on Ubuntu 20.04 aarch64.

# file appimagetool-aarch64.AppImage 
appimagetool-aarch64.AppImage: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, stripped
# ./appimagetool-aarch64.AppImage 
bash: ./appimagetool-aarch64.AppImage: cannot execute binary file: Exec format error

I am running in a chroot environment is that part of the issue with this error?

@hipersayanX
Copy link
Contributor

Same error also for armhf.

@probonopd
Copy link
Member

Please describe your environment in more detail. Thanks.

@hipersayanX
Copy link
Contributor

In my case, using uraimo/run-on-arch-action@v2 with Ubuntu 24.04.

@monkeyx-net
Copy link
Author

monkeyx-net commented May 19, 2024 via email

@hipersayanX
Copy link
Contributor

FYI, the file result comparison between a native binary (working), and the appimagetool binary.

test                       : ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=51042bf9e5dbc62b268ae2874c841504a6d3109b, stripped
appimagetool-armhf.AppImage: ELF 32-bit LSB executable    , ARM, EABI5 version 1 (SYSV)     , dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=78587ddf6c7a3d0dda410a0dfa9f00afbdf30a23, stripped

Probably appimagetool being compiled as a SYSV executable is what makes the difference.

@monkeyx-net
Copy link
Author

monkeyx-net commented May 22, 2024

Here are some file results from the chroot aarch64

appimagetool-aarch64.AppImage: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, stripped

Henry-Stickmin-5-Fleeing-the-Complex-aarch64.AppImage: 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]=ecf4dd1f80c620b69e425775ac76171c6976b2c5, stripped

From my own tests I can create binary test packages with x86_64 but not aarch 64 as nothing seems to work in my chroot environment?

I am also getting the same issues testing on a docker Ubuntu 20.04 aarch64 image.

@probonopd
Copy link
Member

probonopd commented May 25, 2024

Can this issue be reproduced without qemu/kvm and without chroot and without containers, e.g., by running the binary on a Raspberry Pi?

Also, on the systems where it is not working, does the old version from https://github.com/AppImage/AppImageKit/ work any better?

(It might have to do with the AppImage magic bytes that get inserted into the ELF header, but that is just pure speculation at the moment.)

@monkeyx-net
Copy link
Author

I did try the older version and it has the same issue.

I tested running them on a native device (rg552 handheld)and it did work.

I will dust off my pi and test that too.

I was hoping there was something I could do to get it working on my VM, as it's easier to build and package via my chroot environment.

But using my pi rather than a VM could work too😀

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

3 participants