Comments (9)
The binaries ran well on FuryBSD after being patched, also they ran on all the docker containers.
Do you remember in which systems this used to happen?
from appimage-builder.
I'm only patching the executable (not the libraries), maybe that's why it doesn't produce any issues.
from appimage-builder.
freebsd/freebsd-src@1cfd0bd seems to have some information on this:
@DarkHelmet433 wrote there in 1998:
Update the ELF image activator to use some of the exec resources rather
than rolling it's own. This means that it now uses the "safe"
exec_map_first_page() to get the ld.so headers rather than risking a panic
on a page fault failure (eg: NFS server goes down).
Since all the ELF tools go to a lot of trouble to make sure everything
lives in the first page for executables, this is a win. I have not seen
any ELF executable on any system where all the headers didn't fit in the
first page with lots of room to spare.
I have been running variations of this code for some time on my pure ELF
systems.
And @emaste added the Program headers not in the first page
message in 2015:
freebsd/freebsd-src@41e1b13#diff-d67c2311eb3db76bf6d25a9bde8a531aR758
from appimage-builder.
Possibly caused by
NixOS/patchelf#153
Underlying issue
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=229708
from appimage-builder.
I'm testing using LIEF tool to change the PT_INTERP segment in ELF files. But now I'm getting an Invalid PT_INTERP
error.
Edit
It seems that the ld-linux binary that comes in ubuntu is not compatible with FreeBSD. When executed manually it complains with this message:
ELF type "0" not known
Exec format error
from appimage-builder.
The Akira AppImage seems to be built on Centos or Fedora. Maybe their ld-linux version is "better" that the one shipped in Ubuntu
Edit
With patchelf 0.12, brandelf -t linux squashfs-root/usr/lib64/ld-linux-x86-64.so.2
and sysctl compat.linux.osrelease=4.0.00
I was able to make a kcalc AppDir that runs on FuryBSD 🥳
from appimage-builder.
I guess that I can close this issue, as it's related to patchelf. Please feel free to reopen it if required.
The solution: use patchelf >= 0.12
from appimage-builder.
This is excellent news @azubieta - but don't the new patchelf
versions cripple our binaries?
from appimage-builder.
I remember that it crippled Qt libs.
from appimage-builder.
Related Issues (20)
- appimage-builder wants to be run as root because of `pacman -Fy` HOT 22
- deploying package with apt throws an error in version.py HOT 3
- deploying via pacman require root permissions HOT 1
- Standardize on zstd compression HOT 2
- IndexError: list index out of range
- Debug "cannot open shared object file: no such file or directory"
- When AppDir contains a space character, apt package installation fails
- appimage-builder InvalidVersion(f"Invalid version: '{version}'") HOT 7
- How to run gdk-pixbuf-query-loaders --update-cache HOT 2
- Can't select my binary during recipe generation
- E: No packages found
- Generated appimage produces a segmentation fault
- Built images are not respecting XDG spec when it comes to default XDG_DATA_DIRS issue
- FilePackageResolver dpkg-query -S | OSError: [Errno 7] Argument list too long: '/bin/sh'
- strace, dpkg-query, and incorrect library paths
- Appimage creation fails for Retroarch - Arch Linux
- Error running on github workflow HOT 5
- exited with code 127 HOT 2
- Verify release executable file
- Can't execute binaries with sudo inside AppImage - "command not found"
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from appimage-builder.