Kin icon

KIN DB 2004 Project - KinGUI Installation Hints

Project hosted at: Logo


These are simple instructions to install the KinGUI application. This is not intended as a comprehensive manual, but as a "quick guide" with basic common procedures and ideas.
For Win32 target (compiling for Windows, both natively -from Windows itself- or cross compiling -from Linux, for an instace-), please see win32 installation section.
Note on updating sources: sometimes a source file is removed from version to version (or renamed), and a remaining object file in your system may lead you to get "duplicate" function definitions (as may be present in both old and new object files). If you find any trouble with an update to rebuild, please try make clean from src directory first. Also sometimes a change in a header file is not detected by the rebuild system as such, and some object files may use wrong data, leading to segmentation violations. If that's your case, issue a make clean, then build and install again.
In short, to avoid troubles, just issue a make clean from src directory before trying to compile after a sources update.


Installing and compiling KinGUI

Please read INSTALL file present at distribution (package or SVN download) for complete instructions. This is a (probably successful) quick guide:

  1. Get the sources. It is strongly recommended to get them from SVN (pretty simple instructions provided there). If you get the package instead of SVN, uncompress it where you want to build (a temporary place is Ok, usually it is on your home directory). Use something like
    tar zxvf kingui-dev-0.5-alpha.tgz
    (use real package file name). If your tar version can't pipe through gzip, first
    gunzip kingui-dev-0.5-alpha.tgz
    tar xvf kingui-dev-0.5-alpha.tar
  2. Go to kingui-dev directory
    cd kingui-dev
    from where you SVN'd (for the first time) or untar'ed.
  3. There's a lot of subdirs. If you have to change standard configuration (for an instance, if you want kinGUI to reside on a place other than /usr/local/kingui), go to src directory, and edit do_config shell script. You may want to change variables like tS to set it to your CPU family (there's examples right there, but if you're not sure, just don't change the default 'local' which lets the script to autodetect it, provided it is an x86 or x86-64 based CPU); you may also want to change tB for a 64bit build, dm to enable or disable debug version, or mb to enable or disable modularized version.
    Defaults are ok for most people, so first, try it with no modifications.
    Go to src
    cd src
    directory. Here type
    and wait. For the first time, some files may be created (like config.h), then compilation starts. If lots of errors arise with the first build line (guilib) or when linking application (kingui one), probably you don't have an usable SDL library or headers. It is looked up at /usr/include/SDL and /usr/local/include/SDL, required parts are main one (SDL.h), image loading library (SDL_image.h) and TrueType font manager (SDL_ttf.h), often present at main distributions but otherwise you can download and install from libSDL site. You will need the dinamic libSDL when executing KinGUI application. If all goes right, make will end with no errors.
  4. To install KinGUI application, and basic modules, first we have to create installation directories. It is recommended to have a dedicated user and group for the kin system, so you may try
    groupadd kin
    and then
    useradd -g kin kin
    (default configuration file uses that values for user and group). For development, usually user and group are set to your user and group, so you don't have to sudo to root or to kin user every time you install or run it (in such case, just remember to set User and Group in kingui.cfg to the desired values). As root, do (this is for kin based user, change to your user if that's your case):
    mkdir /usr/local/kingui; chown kin:kin /usr/local/kingui
    Then, back to your user or kin user:
    make installdirs
    to get all the tree created. As this is alpha, you may have to use this again in some future, so some new directory gets created whenever it is the case after a sources update. To have a smooth start, you may also create a symbolic link for the fonts directory, to your site fonts path, often something like:
    ln -s /usr/X11R6/lib/X11/fonts /usr/local/kingui/font
    This is not necessary if you create that directory and populate it with your favourite fonts.
  5. To install main application and modules, do (as dedicated kin user or your own, depending on what you choosed)
    make install
    Tools have to be compiled and eventually installed specifically from their own directories (see below), if you need them. They need main KinGUI library to be installed first (as we did a few lines ago), when you choosed modularized version, else, at least, guilib directory has to been made before.
  6. Go to configuration directory (default is /usr/local/kingui/conf) and edit kingui.cfg-sample to suit your needs. Then rename it as kingui.cfg. Basic data to change is your user and group (if you decided to use a diferent than kin), the size of kinGUI window, and maybe your Language (if available). Maybe you should also set Public Listen to a valid value on your system (where your kin cluster is listening to client connections -the CM- ) so you can issue the login request that comes with this basic system.
  7. To run it (it doesn't need a Kin cluster running, actually, if you only pretend to see the desktop interface), just type
KinGUI installation is already done.

Installation Troubleshooting

If you found some trouble trying to compile KinGUI, please refer first to the README file that comes with your distribution or better, from SVN. If anything fails, please provide me some information as what you did and some piece of the result on your console, or at least, the message you get, posting at project's bugtrack (thank you).