Jan Kratochvil
Projects Products GIT Resume Contact
Projects
UNIX UNIX-devel Web Amiga MS-Windows MS-DOS Patches

 

staticbuild: Fully static binaries build - GNU/Linux vendor independence

There exists too many GNU/Linux distributions - vendors - and any produced binary is not compatible with all of them due to the shared libraries and configuration files dependencies. Due to many hardcoded shared libraries it is no longer possible to just use gcc -static. These patches provide the functionality you would expect from: gcc -static


 

This static build framework is based on Fedora Core 4 (SRPMS and SRPMS updates). In fact it is not important which distribution the static build is based on as the final binaries should run on any GNU/Linux system vendor/version. Just I decided for Fedora Core.

You must use the same package versions on the main (dynamic) build system as the static libraries are built for! Therefore you must use Fedora Core 4 if using the unchanged sources or even the binaries provided here.

This static build does not provide threading - neither POSIX threads nor LinuxThreads. I did not need it anywhere and it gets everything simpler and smaller this way.

You should build your sources statically (using automake(1) --enable-static) although without gcc -static. As the last step you should relink the binaries against this staticbuild libraries by hand - it is not much possible to convince automake(1) to properly relink it the minized way for you. Check the 'build-static' script for an example.

This package has been used in its current or former versions for my projects:

Patched PackagePatches Submitted as Bugs
GConf2-2.10.0-4 -
atk-1.9.1-1 -
fontconfig-2.2.3-13 -
fuse-2.4.2-2.fc4 -
glib2-2.6.6-1 -
glibc-2.3.5-10.3Bug 1043 - --enable-static-nss false warnings
Bug 1044 - --enable-static-nss nsswitch "compat"
Bug 1045 - --disable-shared / --enable-static-nss build fix
Bug 1050 - new --enable-static-gconv
gnome-vfs2-2.10.0-5Bug 47053 - new --with-included-filesystems
gtk2-2.6.10-2.fc4.4 -
libbonobo-2.8.1-1Bug 309504 - new --disable-threads
libgnome-2.10.0-3 -
libxml2-2.6.20-1.FC4 -
pango-1.8.1-2 -
xorg-x11-6.8.2-37.FC4.49.2 -

 


EOF