1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
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. Converting 32-bit executables on a 64-bit system requires multilib
and probably 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.
|