Insights about our Autopackage

Our Autopackage is compiled at a Slackware 10.0 build root, to make sure it can be installed at any i386 system with KDE 3.2 or up.

While KDE maintains binary compatibility, patches of distributions affect the symbols our binary is linked to. A package which is compiled at openSUSE's KDE won't run at Ubuntu for example. That's why we use Slackware, since it doesn't apply many distribution specific patches.

Autopackage uses  apgcc internally, a gcc/g++ wrapper which forces the compiler to produce more portable code. You can use it too for your binaries! We automatically look for apg++ when you call:

rpmbuild -tb kmess-1.5.tar.gz

We haven't experienced any C++ ABI problems (perhaps due to lack of calls to libstdc++), hence our Autopackage contains one single binary.

The libaries Xrender, Xext and Xss are statically linked (only ~40kB) to increase portability. The following libraries are explicitly avoided as direct dependencies: art_lgpl, art_lgpl_2, dl, expat, fontconfig, freetype, GL, ICE, idn, kdefx, kdesu, kwalletclient, m, nsl, png, pthread, resolv, SM, util, X11, Xcursor, Xft, Xi, Xinerama, Xmu, Xrandr.