Konstruct is a build system which helps you to install KDE releases and applications on your system. It downloads defined source tarballs, checks their integrity, decompresses, patches, configures, builds and installs them. A complete KDE installation should be as easy as "cd meta/kde;make install".
By default Konstruct installs to your home directory which means you don't have to possess root privileges or risk to damage your system or affect another KDE.
You must have the Subversion client installed, then run in a shell:
If you have no own old gar.conf.mk, copy gar.conf.mk.in over to gar.conf.mk.
To update your Konstruct checkout or the released Konstruct tarballs, change to the konstruct directory and run:
// NOTE: The konstruct version above ONLY compiles KDE 3.5.7 NOT KDE 3.5.8! If you want to compile KDE 3.5.8 with konstruct please download the "fast patched" version from:
Please note: Only packages for the Makefile in ./meta/kde are up to date. All other functions and packages are the same as in konstruct for 3.5.7. The checksum-function for packages is disabled <- this saves hours for me.... GAR! GAR! GAR!
If you find some serious bug please report at:
info at mephistopheles.homelinux. org
A working GNU tool chain (gcc, GNU make, flex, BSD yacc, gettext etc.) and additional GNU tools like tar, gzip, bzip2, md5sum, patch and wget.
Some basic libraries and some other libraries enabling additional functionality are not included in "Konstruct", http://www.kde.org/info/requirements/3.5.php lists them. Note that you may have to install the header files within separate "-dev" or "-devel" packages too.
Copy gar.conf.mk.in to gar.conf.mk and change it to your liking. Common options:
If the download fails because of a proxy, then please consult the wget man page for necessary options in your ~/.wgetrc. If download.kde.org redirects you to a broken or incomplete mirror, you may fix your problem by changing kde.conf.mk.
Konstruct installs the current stable development releases of KDE and applications. Currently it gives a complete KDE 3.5.7 installation. Optionally you can install additional applications like KOffice 1.6.3 or KDevelop 3.4.1.
The following table shows how many MBytes source tarballs will be downloaded:
|kde/kdebase||56MB||Desktop with browser, editor and terminal|
|meta/kdepim-crypto||68MB||Above plus kdepim and crypto libraries|
|meta/kde||172MB||All "KDE 3.5.7" packages & dependencies|
|meta/everything||248MB||Most stable known targets, see next table|
The following (unstable) targets are not included in the meta/everything target:
|apps-unstable/||Unstable development versions and/or undelivered dependencies, maybe conflict with apps/ entries|
|i18n/||Nobody needs everything, just pick your language|
|kde/kdebindings||Only needed for developing with non-C++ language|
If you have at least Qt 3.3 installed, define variable HAVE_QT_3_3_INSTALLED (see Configuration) and subtract 14 MB from the numbers in every column.
If you want to have KDE localized into your native language, look into the i18n/ directory, change to your language directory and start make install. To localize KOffice, install an i18n/koffice-l10n-<language-code> package.
Be sure that you have a live internet connection. Choose a target, and change to the directory which holds its definition, e.g. cd kde/kdebase. Now run make with one of the following targets, usually you only need make install.
The GAR system provides seven basic targets for each package:
These targets are named after their counterparts in the BSD Ports system, and behave in the same manner. If you want to install a package, you have to enter the package's or target's directory and run make install or make patch (just two examples). A later target includes all the previously listed ones.
Some additional useful targets which you usually don't require are:
For every target exists a deep-foo variant, which will also call it recursively for all its dependencies. E.g. with make deep-checksum you can download all required source tarballs and build it later (when you have no net connection).
After installation you have to set some variables allowing your system to find KDE binaries and libraries and KDE to allow to find its own files, for Bash:
export QTDIR=~/kde3.5.7 export KDEDIR=~/kde3.5.7 export KDEDIRS=~/kde3.5.7 export LD_LIBRARY_PATH=~/kde3.5.7/lib export PATH=~/kde3.5.7/bin:$PATH
Setting KDEHOME too, e.g. "export KDEHOME=~/.kdetest", will tell KDE to save your settings to this directory and leave default ~/.kde directory unaffected.
On shadow password systems you have to set $(prefix)/bin/kcheckpass SUID root or SGID shadow - otherwise you will not be able to unlock a locked desktop.
The complete KDE desktop is started with "startkde", most distributions start it if you set it to the WINDOWMANAGER variable in your shell initializations.
Konstruct is maintained by email@example.com and based on GAR ports system by Nick Moffitt (http://www.lnx-bbc.org/garchitecture.html) and is inspired by GARNOME distribution started by Jeff Waugh (http://cipherfunk.org/garnome/).
Redistribution and/or use, with or without modification, is permitted. This software is without warranty of any kind. The author(s) shall not be liable in the event that use of the software causes damage.