Building KDiff3 on Centos 6

My goto diff tool on Windows is the open-source WinMerge. On Linux, Ubuntu has an installable KDiff3, a member of the Qt-based KDE family of tools. At work we are using Centos 6 as our dev VM, and no installable KDiff3 is available.

So the README says to

$ ./configure kde4

and it should build and install. Our VMs had Qt installed already, but it failed getting the kdelibs. The instructions specified:

   - libkde4-devel (KDE4 Header files and development libraries)

So get them. Right?

$ yum install libkde4-devel
...
updates                                                  | 3.4 kB     00:00     
Setting up Install Process
No package libkde4-devel available.
Error: Nothing to do

I am not a lib guru, but have done work on Qt (but Windows and Mac) and some Linux devs. After struggling from one to another I found:

$ yum list | grep kde
kde-filesystem.noarch                    4-30.1.el6                     @base   
kde-settings.noarch                      4.3.1-1.el6.centos             @base   
kdebase.x86_64                           6:4.3.4-6.el6                  @base   
kdebase-libs.x86_64                      6:4.3.4-6.el6                  @base   
kdebase-runtime.x86_64                   4.3.4-9.el6                    @base   
kdebase-runtime-libs.x86_64              4.3.4-9.el6                    @base   
kdebase-workspace.x86_64                 4.3.4-24.el6                   @base   
kdebase-workspace-libs.x86_64            4.3.4-24.el6                   @base   
kdebase-workspace-wallpapers.noarch      4.3.4-24.el6                   @base   
kdelibs.x86_64                           6:4.3.4-19.el6                 @base   
kdelibs-common.x86_64                    6:4.3.4-19.el6                 @base   
kdelibs-devel.x86_64                     6:4.3.4-19.el6                 @base   
kdelibs-experimental.x86_64              4.3.4-3.el6                    @base   
kdepimlibs.x86_64                        4.3.4-4.el6                    @base   
...

Aha! In Centos/RedHat/Fedora, the package is different — or maybe the project itself changed the lib names, and the doc is stale…

So this was the happy path for me:

$ sudo yum install kdelibs-devel
$ sudo yum install cmake
[releaseKde]$ kde4-config --prefix
/usr
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr
$ make
$ sudo make install

A colleague for whom I was trying to get this to work installed the correct lib, and then the $ ./configure kde4 worked fine. Probably totally obvious to a Linux guru, but a good exercise for a lib-newbie.

Leave a Reply