Installing KDE on CentOS
I 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-opensour...
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.t...
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


