Git Product home page Git Product logo

Comments (9)

azubieta avatar azubieta commented on June 9, 2024 1

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.

azubieta avatar azubieta commented on June 9, 2024 1

I'm only patching the executable (not the libraries), maybe that's why it doesn't produce any issues.

from appimage-builder.

probonopd avatar probonopd commented on June 9, 2024

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.

probonopd avatar probonopd commented on June 9, 2024

Possibly caused by
NixOS/patchelf#153

Underlying issue
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=229708

from appimage-builder.

azubieta avatar azubieta commented on June 9, 2024

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.

azubieta avatar azubieta commented on June 9, 2024

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.

azubieta avatar azubieta commented on June 9, 2024

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.

probonopd avatar probonopd commented on June 9, 2024

This is excellent news @azubieta - but don't the new patchelf versions cripple our binaries?

from appimage-builder.

probonopd avatar probonopd commented on June 9, 2024

I remember that it crippled Qt libs.

from appimage-builder.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.