Jump to content

Static build


Recommended Posts

  • 1 month later...
Posted

A modern library included app packaging format is generally better than static linking, because it permits insertion of library patches post-release for compatibility with annoyingly stubborn systems.

Your best option is to use the AppPack build for this.  This one includes all it's libraries and has nice executable compression.  You can also prune the libraries when making this, for further compression.  There is a premade AppPack, but there is also a build script for it in the source code.

Another option is to use FlatPak, which is similar to AppPack but uses a system container, providing more insulation and security.   FlatPak also makes several premade run-times available with fixed library sets including the latest bugfix patches.   It's a very good option.  However, FlatPak requires a runtime and a special user-level package manager (supported by most major modern distros.) This makes it less portable.

There currently isn't a flatpak build script last I checked, but it's easy to add.   The FlatPak website has a guide, and I think I might have seen a prebuilt one on Flathub.

Simply put advantages quick and dirty:
FlatPak: System in place for runtime updates.
AppPack: Runs as a standard monolithic Elf binary, fully portable and able to run on any system without substantial library issues.

As a note, OpenRTC needs the following for FlatPak permissions:  Access to Window Manager functions, Access to OpenGL and X11 functions, Sound system Access. Full network access, Access to user directory in filesystem.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...