And then kdelibs 2 is ready for base consumption…

So again in the time for xmas, i basically done the base kdelibs 2.2.2 port. Is far from be perfect as stated on my, but can be perfected now due start to porting kdebase.

If someone asked why i’m doing some ( alleged ) useless work, is because i’m really want to restore KDE 2 as well and improve my porting skills, since i think is a valuable skill for any programmer.

I think in a future, companies and organizations will have the need to porting or maintaining legacy C/C++ software like already happened for COBOL software and we need to be ready for this.

And i really love do that, is part of my KDE history…

So, for kdelibs, most of the tests works, dcopserver works perfectly, graphics work, so is a little beyond of proof of concept.

Autotools proved to be a worthy adversary, but i found my way around it, so Cmake it is.

The super repo still in github, but when i decided at some point kdebase done, i will request a proper place in out home base, the KDE Git repository

KDE 2 Super Repo

Follow a copy of for the lazy ones:

Merry Xmas and a Happy New Year


KDE Restoration Project – KDE 2.2.2This is an Software Engineering Archeology work. The intention is to keep original KDE 2 working as along as possible in modern architectures ( Unix and Linux only for now )Small premises are taken to go with this port:

  • Keep the original code as original as possible
  • Replace current BuildSystem for a modern one. The actual choice was Cmake since i do know it better and current KDE uses it

The current status:

Qt2 is done with some remarks:

  • There’s a issue as Qt2 didn’t recognize ARGB visuals on thos times ( of course ! ), so thanks to Gustavo Boiko that found the issue. So, if you do intend to run software like Qt designer, export this on command line: XLIB_SKIP_ARGB_VISUALS=1
  • Compilation depends on byacc. ONe of the sources are not ported to modern bison/flex. Thanks to @EXl for pinting this out

kdelibs is done with some remarks:

  • arts is not compiled yet. It is my nemesis since i worked at Conectiva several years ago and still a pain. Help welcome
  • Documentation is not generated. This is secondary and wil be dealt after kdebase
  • Install part is done, but is not 100% proved if is done properly
  • libtool porting “should” work, but then, not properly tested.
  • MOst software can compiled directo from the super repo, but to test unfortunately we need to run dcop and have install directory properly setted. This will be preperly test when kdebase port start ( soon i hope, crossing my fingers).


  • Clone the super repo: git clone --recursive
  • Enter the directory: cd kde2
  • Create an non source build dir ( i usually use build ): mkdir build
  • Run cmake: cmake ..

My default compiler is Clang on Fedora Linux 27 at this moment I can’t remember all required libraries, so for now you need run cmake and see what is missing on your side.

I will thanks any help, been clear that this is probably a uselles project, but has some meaning for me at least.

Again thanks to:

Gustavo Boiko – @boiko



  1. Nice, A friend of mine in Brazil, Julio used to run Connectiva at home if I remember correctly… I did a short internship at a water billing agency with him as my shadow (more like me shadowing him).

  2. Hello ! When I try to clone your repo, I get this error 🙁

    Clonage dans ‘kde2’…
    The authenticity of host ‘ (’ can’t be established.
    RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added ‘,’ (RSA) to the list of known hosts.
    Permission denied (publickey).
    fatal: Could not read from remote repository.

    Please make sure you have the correct access rights
    and the repository exists.

  3. I have some problems compiling this on Ubuntu 16.04.5 LTS,
    both amd64 and armv7l, as well as on Raspbian Stretch 9,
    in the same place for all, for both gcc and clang.
    Qt2 compiles well, though.

    Are there some news and tricks in the project
    (I am ready to send the logs needed)?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.