Installing KDE on CentOS
Follow @ggarronI lost the forums In this site, while upgrading my server, but since this post is really visited, I am going to recreate it here:
Here is the draft version, later I will make a better one.
Installing KDE 4 on Centos This is an unfinished work, as until now I could have not been able to install (compile) KDE 4 on Centos 5, I will post here the steps I already did, and the error I have found, If someone can continue with the job please post below on this thread, I will also still continue trying.
I will post step by step what I did, first install a basic Centos5, with Gnome, and not KDE (as we are supposed to compile it later)
Code: yum install xorg-x11-proto-devel To solve error: X11/Xlib.h: No such file or directory Code: yum install libXext-devel to solve /usr/bin/ld: cannot find -lXext Code: yum install glib-devel
Code: yum install giflib-devel Code: yum install openssl-devel
Installing cmake
Code: wget http://www.cmake.org/files/v2.4/cmake-2.4.7.tar.gz tar xvzf cmake-2.4.7.tar.gz mkdir cmake-build cd cmake-build ../cmake-2.4.7/bootstrap gmake sudo gmake install
Installing QT 4.3
Code: wget http://ftp.silug.org/mirrors/ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.3.3.tar.gz tar xvzf qt-x11-opensource-src-4.3.3.tar.gz cd [qt_directory] ./configure -nomake examples -nomake demos -qt-gif -no-exceptions -debug -qt3support -qdbus gmake gmake install PATH=/usr/local/Trolltech/Qt-4.3.3/bin:$PATH export PATH
Installing KDE support
As I have not found a .tar.gz for this, I had to use svn and followed the KDE instructions, to build it.
be sure to read this: Environmental variables to build KDE
Installing Clucene
Code: wget http://ufpr.dl.sourceforge.net/sourceforge/clucene/clucene-core-0.9.20.tar.gz tar xvzf clucene-core-0.9.20.tar.gz cd clucene-core-0.9.20 ./autogen.sh ./configure make make install
Installing Strigi
Code: wget http://www.vandenoever.info/software/strigi/strigi-0.5.7.tar.bz2 tar xvjf strigi-0.5.7.tar.bz2 cd strigi-0.5.7 cmake . make make install
Installing KDELibs
Code: mkdir /root/kde4/source/ cd /root/kde4/source/ Code: wget http://download.kde.org/stable/4.0.0/src/kdelibs-4.0.0.tar.bz2 Code: tar xvjf kdelibs-4.0.0.tar.bz2 Code: cd .. mkdir kde4build cd kde4build cmake -DCMAKE_INSTALL_PREFIX=/usr/src -DCMAKE_BUILD_TYPE=debugfull -DKDE4_BUILD_TEST=ON /usr/src/kdelibs-4.0.0 make
I am here, and I found this error:
Quote: [ 49%] Building CXX object phonon/libkaudiodevicelist/CMakeFiles/kaudiodevicelist.dir/audiodeviceenumerator.o /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp: In member function ‘void Phonon::AudioDeviceEnumeratorPrivate::findDevices()’: /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp:67: warning: unused variable ‘cacheVersion’ /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp: In member function ‘void Phonon::AudioDeviceEnumeratorPrivate::findVirtualDevices()’: /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp:163: error: ‘snd_device_name_hint’ was not declared in this scope /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp:170: error: ‘snd_device_name_get_hint’ was not declared in this scope /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp:194: error: ‘snd_device_name_free_hint’ was not declared in this scope /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp:196: error: ‘snd_config_update_free_global’ was not declared in this scope /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp:197: error: ‘snd_config_update’ was not declared in this scope /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp:198: error: ‘snd_config’ was not declared in this scope /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp:206: error: ‘snd_input_t’ was not declared in this scope /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp:206: error: ‘sndInput’ was not declared in this scope /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp:207: error: ‘snd_input_buffer_open’ was not declared in this scope /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp:209: error: ‘snd_config’ was not declared in this scope /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp:209: error: ‘snd_config_load’ was not declared in this scope /root/kde4/src/kdelibs-4.0.0/phonon/libkaudiodevicelist/audiodeviceenumerator.cpp:210: error: ‘snd_input_close’ was not declared in this scope make[2]: [phonon/libkaudiodevicelist/CMakeFiles/kaudiodevicelist.dir/audiodeviceenumerator.o] Error 1 make[1]: [phonon/libkaudiodevicelist/CMakeFiles/kaudiodevicelist.dir/all] Error 2 make: *** [all] Error 2
If someone find this useful, or find any other error please post here with the solution, or with the answer, so we can go all together, to finish this task.
=================== Solution from another user =====================================
This is how I installed it from a minimum CentOS 5.2 install. There were some problems, read the comments below if something fails.
If you have KDE 3 installed, uninstall it first because I will install everything in /usr. If it's not uninstalled you may get some weird problems when you run KDE 4.
Install CentOS 5.2, unticking everything so you install the minimum crap possible.
I assume you'll be root all the time, but you usually only need to be root when installing the apps or running yum, not when compiling.
Compile in parallel. Change the "2" to your number of CPUs.
export MAKEOPTS="-j2" alias makeinst='make $MAKEOPTS && make install && echo done'
We'll do all the dirty stuff in ~/work
cd mkdir work cd work
Install rpmforge because it has some packages not in the centos repos.
Modify the link if it's an x86-64 machine. The latest release can be found
here: http://dag.wieers.com/rpm/packages/rpmforge-release/. Grab the .el5.
rpm package, i386 for 32-bit systems or x86_64 for 64-bit systems.
wget http://dag.wieers.com/rpm/packages/rpmfo...f.i386.rpm rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm yum update
We need X
yum groupinstall "X Software Development" "X Window System"
Install some needed programs/libs
yum install expat expat-devel gettext gettext-devel hal-devel \ curl-devel intltool bison freeglut freeglut-devel libnl-devel \ xmms xmms-devel libXtst-devel cyrus-sasl cyrus-sasl-devel \ cyrus-sasl-gssapi cyrus-sasl-ldap cyrus-sasl-md5 cyrus-sasl-ntlm \ cyrus-sasl-plain openldap-devel gnokii gnokii-devel gnokii-gui \ gphoto2-devel sane-backends-devel sane-frontends chmlib chmlib-devel \ libXxf86vm-devel libmusicbrainz libmusicbrainz-devel cdparanoia \ cdparanoia-devel flac-devel ffmpeg ffmpeg-devel libotr libotr-devel \ gmp-devel ocaml readline-devel libqalculate libqalculate-devel \ cln-devel xscreensaver 'xscreensaver-*' ggz-client-libs libjpeg-devel \ ggz-client-libs-devel system-config-printer subversion-devel libjpeg \ install gcc gcc-c++ dbus-glib-devel cups-devel libXinerama-devel \ gnome-vfs2-devel sqlite-devel python-devel boost boost-devel bzip2-devel \ pcre-devel libxslt-devel aspell-devel enchant enchant-devel giflib-devel \ avahi-devel avahi-glib-devel openexr openexr-devel xine-lib xine-lib-devel \ libraw1394 libraw1394-devel libXrandr libXrandr-devel bluez-libs-devel \ lm_sensors lm_sensors-devel libxklavier libxklavier-devel libxkbfile-devel \ gpgme gpgme-devel exiv2 exiv2-devel lcms-devel
Install latest DBus. The one you have is too old for some programs.
cd ~/work wget http://dbus.freedesktop.org/releases/dbu...2.3.tar.gz tar xzf dbus-1.2.3.tar.gz cd dbus-1.2.3 ./configure --prefix=/usr --exec-prefix=/ --libexecdir=/usr/libexec \ --bindir=/bin --libdir=/lib --includedir=/usr/include \ --localstatedir=/var --sysconfdir=/etc --with-xml=expat makeinst dbus-uuidgen --ensure
Make sure the pkg-config file is where it should be, overwriting the old
dbus v1.0 file.
mv -f /lib/pkgconfig/dbus-1.pc /usr/lib/pkgconfig/dbus-1.pc cd ~/work wget http://dbus.freedesktop.org/releases/dbu....76.tar.gz tar xzf dbus-glib-0.76.tar.gz cd dbus-glib-0.76 ./configure --prefix=/usr && makeinst
Install CMake
cd ~/work wget http://www.cmake.org/files/v2.6/cmake-2.6.1.tar.gz tar xzf cmake-2.6.1.tar.gz cd cmake-2.6.1 ./bootstrap --prefix=/usr && makeinst
Install flex >= 2.5.31
cd ~/work wget http://prdownloads.sourceforge.net/flex/...35.tar.bz2 tar xjf flex-2.5.35.tar.bz2 cd flex-2.5.35 ./configure --prefix=/usr && makeinst
Install iconv
cd ~/work wget http://ftp.gnu.org/pub/gnu/libiconv/libi....12.tar.gz tar xzf libiconv-1.12.tar.gz cd libiconv-1.12 ./configure --prefix=/usr && makeinst
Install libxml2
cd ~/work wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.6.32.tar.gz tar xzf libxml2-sources-2.6.32.tar.gz cd libxml2-2.6.32 ./configure --prefix=/usr && makeinst
Install liboil
cd ~/work wget http://liboil.freedesktop.org/download/l....15.tar.gz tar xzf liboil-0.3.15.tar.gz cd liboil-0.3.15 ./configure --prefix=/usr && makeinst
Install gstreamer:
cd ~/work wget http://gstreamer.freedesktop.org/src/gst....20.tar.gz tar xzf gstreamer-0.10.20.tar.gz
cd gstreamer-0.10.20 ./configure --disable-failing-tests --prefix=/usr && makeinst
Install gstreamer plugin (base)
cd ~/work wget http://gstreamer.freedesktop.org/src/gst....20.tar.gz tar xzf gst-plugins-base-0.10.20.tar.gz cd gst-plugins-base-0.10.20 ./configure --prefix=/usr && makeinst
Install latest Qt4
cd ~/work wget http://wftp.tu-chemnitz.de/pub/Qt/qt/sou...4.1.tar.gz tar xzf qt-x11-opensource-src-4.4.1.tar.gz cd qt-x11-opensource-src-4.4.1 ./configure -qt-gif -release -fast -dbus-linked -nomake examples -nomake demos -prefix /usr makeinst
Make sure QT4 bins are used before QT3 bins
export PATH=/usr/bin:$PATH
Install clucene
cd ~/work wget http://downloads.sourceforge.net/clucene....20.tar.gz tar xzf clucene-core-0.9.20.tar.gz cd clucene-core-0.9.20 ./configure --prefix=/usr && makeinst
Install shared-mime-info
cd ~/work wget http://freedesktop.org/~hadess/shared-mi...51.tar.bz2 tar xjf shared-mime-info-0.51.tar.bz2 cd shared-mime-info-0.51 ./configure --prefix=/usr && makeinst
Install Jasper
cd ~/work wget http://www.ece.uvic.ca/~mdadams/jasper/s....900.1.zip unzip jasper-1.900.1.zip cd jasper-1.900.1 ./configure --prefix=/usr && makeinst
Install wireless-tools
cd ~/work wget http://www.hpl.hp.com/personal/Jean_Tour....29.tar.gz tar xzf wireless_tools.29.tar.gz cd wireless_tools.29 make PREFIX=/usr make PREFIX=/usr install
Install Network Manager 0.6.5
cd ~/work wget http://ftp.gnome.org/pub/GNOME/sources/N....5.tar.bz2 tar xjf NetworkManager-0.6.5.tar.bz2 cd NetworkManager-0.6.5 ./configure --prefix=/usr --without-gnome && makeinst
install pciutils
(kdebase didn't detect it so this could be useless)
cd ~/work wget ftp://atrey.karlin.mff.cuni.cz/pub/linux...0.0.tar.gz tar xzf pciutils-3.0.0.tar.gz cd pciutils-3.0.0 edit makefile, set PREFIX to /usr make ZLIB=yes DNS=yes SHARED=yes && make install-lib && make install && echo done
Install libassuan
cd ~/work wget ftp://ftp.gnupg.org/gcrypt/libassuan/lib....4.tar.bz2 tar xjf libassuan-1.0.4.tar.bz2 cd libassuan-1.0.4 ./configure --prefix=/usr && makeinst
Install opensync
cd ~/work
wget http://www.opensync.org/download/release....36.tar.gz
tar xzf libopensync-0.36.tar.gz
cd libopensync-0.36
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr pwd/.. -Wno-dev && makeinst
Install PyQt4 and SIP. Latest versions here:
http://www.riverbankcomputing.com/software/sip/download
http://www.riverbankcomputing.com/softwa...t/download
cd ~/work wget http://www.riverbankcomputing.com/static...7.7.tar.gz tar xzf sip-4.7.7.tar.gz cd sip-4.7.7 python configure.py && makeinst cd ~/work wget http://www.riverbankcomputing.com/static...4.3.tar.gz tar xzf PyQt-x11-gpl-4.4.3.tar.gz cd PyQt-x11-gpl-4.4.3 python configure.py && makeinst
Install poppler
cd ~/work wget http://poppler.freedesktop.org/poppler-d...2.0.tar.gz tar xzf poppler-data-0.2.0.tar.gz cd poppler-data-0.2.0 edit Makefile and change prefix to /usr from /usr/local makeinst cd ~/work wget http://poppler.freedesktop.org/poppler-0.8.5.tar.gz tar xzf poppler-0.8.5.tar.gz cd poppler-0.8.5 ./configure --prefix=/usr --enable-zlib --enable-poppler-qt4 && makeinst
Install raptor
cd ~/work wget http://download.librdf.org/source/raptor-1.4.18.tar.gz tar xzf raptor-1.4.18.tar.gz cd raptor-1.4.18 ./configure --prefix=/usr && makeinst
Install redland
cd ~/work wget http://download.librdf.org/source/redland-1.0.8.tar.gz tar xzf redland-1.0.8.tar.gz cd redland-1.0.8 ./configure --prefix=/usr && makeinst
Install rasqal
cd ~/work wget http://download.librdf.org/source/rasqal-0.9.16.tar.gz tar xzf rasqal-0.9.16.tar.gz cd rasqal-0.9.16 ./configure --prefix=/usr && makeinst
Install ghostscript
cd ~/work wget http://ghostscript.com/releases/ghostscr...62.tar.bz2 tar xjf ghostscript-8.62.tar.bz2 cd ghostscript-8.62 ./configure --prefix=/usr --enable-dynamic --disable-gtk --with-jasper --with-x --with-libiconv=gnu && makeinst make -j2 soinstall && echo done
Install libspectre
cd ~/work wget http://libspectre.freedesktop.org/releas...2.0.tar.gz tar xzf libspectre-0.2.0.tar.gz cd libspectre-0.2.0 ./configure --prefix=/usr && makeinst
Install DjVuLibre
cd ~/work wget http://downloads.sourceforge.net/djvu/dj...0-5.tar.gz tar xzf djvulibre-3.5.20-5.tar.gz cd djvulibre-3.5.20 ./configure --prefix=/usr && makeinst
Install libzip
cd ~/work wget http://www.nih.at/libzip/libzip-0.9.tar.bz2 tar xjf libzip-0.9.tar.bz2 cd libzip-0.9 ./configure --prefix=/usr && makeinst
Install ebook-tools
cd ~/work wget http://downloads.sourceforge.net/ebook-t...1.1.tar.gz tar xzf ebook-tools-0.1.1.tar.gz cd ebook-tools-0.1.1 cmake -DCMAKE_INSTALL_PREFIX=/usr . -Wno-dev && makeinst
Install QCA
cd ~/work wget http://delta.affinix.com/download/qca/2.....1.tar.bz2 tar xjf qca-2.0.1.tar.bz2 cd qca-2.0.1 ./configure --prefix=/usr --disable-tests && makeinst
Install libvncserver
cd ~/work wget http://downloads.sourceforge.net/libvncs...9.1.tar.gz tar xzf LibVNCServer-0.9.1.tar.gz cd LibVNCServer-0.9.1 ./configure --prefix=/usr && makeinst
Install Decibel
Can't get this to work anymore. Fails when building telepathy-qt. Used to work.
Decibel is optional so forget it if it won't compile.
cd ~/work
svn co https://svn.sourceforge.net/svnroot/tapi...lepathy-qt
cd telepathy-qt
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr pwd/.. -Wno-dev && makeinst
cd ~/work
svn co https://svn.sourceforge.net/svnroot/tapi...tapioca-qt
cd tapioca-qt
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr pwd/.. -Wno-dev && makeinst
cd ~/work
wget http://decibel.kde.org/fileadmin/downloa...5.0.tar.gz
tar xzf decibel-0.5.0.tar.gz
cd decibel-0.5.0
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr pwd/.. -Wno-dev && makeinst
Install libfacile
cd ~/work wget http://www.recherche.enac.fr/log/facile/...1.1.tar.gz tar xzf facile-1.1.tar.gz cd facile-1.1 ./configure && makeinst
Install OpenBabel
cd ~/work wget http://downloads.sourceforge.net/openbab...2.0.tar.gz tar xzf openbabel-2.2.0.tar.gz cd openbabel-2.2.0 ./configure --prefix=/usr && makeinst
Install cfitsio
cd ~/work wget ftp://heasarc.gsfc.nasa.gov/software/fit...090.tar.gz tar xzf cfitsio3090.tar.gz cd cfitsio ./configure --prefix=/usr && makeinst
Install indilib
cd ~/work wget http://downloads.sourceforge.net/indi/in...0.5.tar.gz tar xzf indilib-0.5.tar.gz cd indi ./configure --prefix=/usr && makeinst
Install libnova
cd ~/work wget http://downloads.sourceforge.net/libnova...2.2.tar.gz tar xzf libnova-0.12.2.tar.gz cd libnova-0.12.2 ./configure --prefix=/usr && makeinst
Install gmm++
cd ~/work wget http://download.gna.org/getfem/stable/ge...0.3.tar.gz tar xzf getfem++-3.0.3.tar.gz cd getfem++-3.0.3 ./configure --prefix=/usr --enable-boost && makeinst
Install GSL
cd ~/work wget ftp://ftp.gnu.org/gnu/gsl/gsl-1.11.tar.gz tar xzf gsl-1.11.tar.gz cd gsl-1.11 ./configure --prefix=/usr && makeinst
Install libarchive
cd ~/work wget http://people.freebsd.org/~kientzle/liba...5.5.tar.gz tar xzf libarchive-2.5.5.tar.gz cd libarchive-2.5.5 ./configure --prefix=/usr && makeinst
Install libxcb. The latest version requires python > the version we have
so install an earlier version. I chose v1.1 but it's possible a later
version also works.
cd ~/work wget http://www.paldo.org/paldo/sources/pthre....1.tar.bz2 tar xjf libpthread-stubs-0.1.tar.bz2 cd libpthread-stubs-0.1 ./configure --prefix=/usr && makeinst cd ~/work wget http://xcb.freedesktop.org/dist/xcb-proto-1.1.tar.gz tar xzf xcb-proto-1.1.tar.gz cd xcb-proto-1.1 ./configure --prefix=/usr && makeinst cd ~/work wget http://xcb.freedesktop.org/dist/libxcb-1.1.tar.gz tar xzf libxcb-1.1.tar.gz cd libxcb-1.1 ./configure --prefix=/usr && makeinst
Hack for kdesupport. It can't find this include file.
cp /usr/lib/glib-2.0/include/glibconfig.h /usr/include/
Install kdesupport
mkdir ~/work/kde cd ~/work/kde svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/ mkdir -p build/kdesupport cd build/kdesupport cmake ../../kdesupport/ -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=release -Wno-dev makeinst
Download all KDE files. We're building everything whether you like it or not.
Go here http://www.kde.org/download/#v4.1 and pick a closer mirror than .se
cd ~/work/kde for f in kdeaccessibility kdelibs kdeadmin kdemultimedia \ kdeartwork kdenetwork kdebase kdepim \ kdebase-runtime kdepimlibs kdebase-workspace kdeplasma-addons \ kdebindings kdesdk kdeedu kdetoys kdegames kdeutils \ kdegraphics kdewebdev do wget http://ftp.sunet.se/pub/kde/stable/4.1.0....0.tar.bz2 tar xjf ${f}-4.1.0.tar.bz2 mv ${f}-4.1.0 $f rm -f ${f}-4.1.0.tar.bz2 mkdir build/$f done
Fix some kdebase dirs
mv kdebase-runtime/ kdebase/runtime mv kdebase-workspace/ kdebase/workspace
Build first part of KDE 4.1
for i in kdelibs kdebase kdepimlibs do cd ~/work/kde cd build/$i cmake ../../$i/ -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=release -Wno-dev && \ make $MAKEOPTS install && echo done done
Install PyKDE4
This doesn't work anymore
cd ~/work wget http://www.riverbankcomputing.co.uk/stat...-1.tar.bz2 tar xjf PyKDE4-4.0.2-1.tar.bz2 cd PyKDE4-4.0.2-1 python configure.py && makeinst
Build the rest of KDE 4.1
kdebindings will fail, but worked before. Just remove it if it fails.
for i in kdeaccessibility kdeadmin kdeartwork kdebindings \ kdeedu kdegames kdegraphics kdemultimedia kdenetwork kdepim \ kdeplasma-addons kdesdk kdetoys kdeutils kdewebdev do cd ~/work/kde cd build/$i cmake ../../$i/ -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=release -Wno-dev && \ make $MAKEOPTS install && echo done done cd ~/work/kde echo DONE
Now to start KDE 4. echo startkde > ~/.xinitrc startx