ELF statifier create from dynamically linked executables and all it's libraries one file. This file can be copied and run on another machine without need to drag all it's libraries.
Dynamically linked executables are smaller then statically linked. From the other side dynamically linked executables use shared libraries compiled in PIC (position independend code) which is slower than "normal" one.
Files, created by statifier ("pseudo-static") combine disadvantages of both of them:
Huge - much bigger than statically linked
Still use PIC code
So, why one will use it ?
Ok, "pseudo-static" files have some advantages too:
Everything in one file - so distributing is simple
Same file can be used for computers with different libraries' versions
But all these one can got with usual static files.
So, why use statifier and huge "pseudo-static" executables instead of static ?
there is no source code available
there is no compiler (or build-chain) available
static link does not work or it's not obvious how do it
to preserve memory layout - static link will change it and may "wake-up" hidden bugs
for "permanent link" LD_PRELOAD library into executable
What's New in This Release: [ read full changelog ]
· Fixed error: 32/strtoul: can't convert '0xXXXXXXXXX' introduced again in the 1.7.0