39 lines
1.6 KiB
Plaintext
39 lines
1.6 KiB
Plaintext
statifier (convert dynamic executables to statically linked)
|
|
|
|
Statifier combines a dynamically linked executable with its libraries
|
|
into one large file. The result can be easier to distribute and may
|
|
allow a 32-bit binary to run on a 64-bit-only system.
|
|
|
|
Notes:
|
|
|
|
1. To get statifier to work properly, VDSO support must be disabled in
|
|
the kernel. This must be done on the system statifier is being run on,
|
|
before it's run. The converted binaries themselves don't require this,
|
|
only statifier itself. If you forget to do this, statifier will appear
|
|
to run OK, but the converted binaries will segfault when run.
|
|
|
|
For 32-bit systems only, this can be done without a reboot.
|
|
Execute this as root:
|
|
|
|
echo "0" > /proc/sys/vm/vdso_enabled
|
|
|
|
...and to re-enable VDSO, replace the "0" with "1".
|
|
|
|
For 64-bit systems, you must use kernel parameters, meaning a reboot is
|
|
required. At the lilo (elilo, grub, etc) prompt, enter:
|
|
|
|
linux vdso=0 vdso32=0
|
|
|
|
...or add 'append="vdso=0 vdso32=0"' to the kernel image section in
|
|
/etc/lilo.conf to make it permanent (not recommended).
|
|
|
|
If you run statifier with VDSO enabled, it will remind you to disable it.
|
|
|
|
2. Executables converted with statifier will show up as dynamic, in
|
|
'file' output, but ldd will say 'not a dynamic executable'.
|
|
|
|
3. A 64-bit statifier can only convert 64-bit binaries. Converting 32-bit
|
|
executables on a 64-bit system requires multilib and a 32-bit statifier
|
|
package. The SlackBuild maintainer hasn't tested multilib, and would
|
|
be interested to know what kind of results you get with it.
|