Installing Kylix on a modern distro

Author: Daniel Bautista
Last update: 2004/12/08



When Kylix was released, its developers had in mind distros like Red Hat 6.2. But nowadays we have Fedora Core 2, Slackware 10, Mandrake 10.1... things have changed.

Downloading Kylix 3 is easy, you have to go to Borland site, open a free account, and they will send you a e-mail with the activation of the product, and you will also have the link of the tar.gz.

Installing is also easy (sh setup.sh), but from this point things may be a little hard. The editor might close when you are linking an application, or some weird errors with files like time.h.

Kylix seems to be abandoned, So I will tell you the steps I follow when I want to install Kylix on a modern distro.

NOTE (2006/06/12): QEmu + Red Hat 7.2 (with Qt) is a better way.

  1. OK, so first point: go to http://borland.com/products/downloads/download_kylix.html. Follow their instructions to download. You will need a tar.gz and a regXX.txt to install kylix. It may be useful getting the updates.
  2. Second step is also very easy: untar the kylix distribution and install it (read the instructions, it's a simple 'sh setup.sh'). Install the updates you have downloaded. regXX.txt must be in your $HOME directory before the installation.
  3. Execute 'startbcb'. Does it say something about LC_ALL? Well, if it says so, edit the file /usr/local/kylix3/bin/startbcb and put the next lines:
    #!/bin/bash
    
    # BEGIN STRING TABLE
    
    KYDEF_LOCALE="es_ES"
    LC_ALL="es_ES"
    export LC_ALL
    LC_ALL_IS_C1="The LC_ALL environment variable is set to C.  Kylix cannot start with this setting."
    LC_ALL_IS_C2="Defaulting LC_ALL to"
    
    # END STRING TABLE
    
    if [ -z "$LANG" ]; then
       LANG=$KYDEF_LOCALE
       export LANG
    fi
    
    if [ "$LC_ALL" = "C" ]; then
       echo "$LC_ALL_IS_C1"
       echo "$LC_ALL_IS_C2 $KYDEF_LOCALE."
       LC_ALL=$KYDEF_LOCALE
       export LC_ALL
    fi
    
    source /usr/local/kylix3/bin/kylixpath /usr/local/kylix3 >/dev/null
    /usr/local/kylix3/bin/bcblin $*
        
    For 'startdelphi', I have:
    #!/bin/bash
    
    # BEGIN STRING TABLE
    
    KYDEF_LOCALE="es_ES"
    LC_ALL="es_ES"
    export LC_ALL
    LC_ALL_IS_C1="The LC_ALL environment variable is set to C.  Kylix cannot start with this setting."
    LC_ALL_IS_C2="Defaulting LC_ALL to"
    
    # END STRING TABLE
    
    if [ -z "$LANG" ]; then
       LANG=$KYDEF_LOCALE
       export LANG
    fi
    
    if [ "$LC_ALL" = "C" ]; then
       echo "$LC_ALL_IS_C1"
       echo "$LC_ALL_IS_C2 $KYDEF_LOCALE."
       LC_ALL=$KYDEF_LOCALE
       export LC_ALL
    fi
    
    source /usr/local/kylix3/bin/kylixpath /usr/local/kylix3 >/dev/null
    /usr/local/kylix3/bin/delphi $*
        
  4. OK, now we have to fix the problem with time.h and similar. Kylix needs a glibc 2.1.3... and modern distros have a modern glibc, not 2.1.3... so we have to get a compat-glibc. I work with compat-glibc-6.2-2.1.3.2.i386.rpm. Download it and install it (rpm -Uhv, or use rpm2tgz for Slackware or...).
    Next you have to edit files /usr/local/kylix3/include/defs.h and /usr/local/kylix3/include/_defs.h, and change the line
    #define _STD_HEADER_(__a) /usr/include/__a
    with
    #define _STD_HEADER_(__a) /usr/i386-glibc21-linux/include/__a
    Well, so now you have to open Kylix C++ IDE (starbcb) and go to Project->Project Options, tab Directories/Conditionals and replace /usr/include for /usr/i386-glibc21-linux/include in the Include Paths, and /usr/lib for /usr/i386-glibc21-linux/lib in Library Paths. Don't forget to mark Default, in order to all projects load these settings.

    Obviously, this step only involves the C++ IDE, not the Delphi IDE.
  5. Last step: if you try to compile and link any project, Kilyx will crash (if not, congratulations!, You needn't read more). The problem is in the linker. Download ilinkPatch from the guys of Unofficial Kylix VisualCLX Patches and install it.
With these steps, you should have an operational Kylix suite working. If you have downloaded Kylix 3 Open Edition, I recommend you to visit Indy or freeclx.

Licencia de Creative Commons
Esta obra está bajo una licencia de Creative Commons.


Valid HTML 4.01!