Difference between revisions of "Getting Started/Build/KDE4/on virtual machines"

Jump to: navigation, search
(Virtual Machine Setup)
(qtcreatOr)
 
(15 intermediate revisions by one user not shown)
Line 1: Line 1:
{{Infobox tutorial|time=3 hours|type=HowTo|distribution=SUSE Linux 12.1|happyreaders=2|unhappyreaders=0}}
+
{{Infobox tutorial|time=3 hours|type=HowTo|distribution=SUSE Linux 12.2|happyreaders=2|unhappyreaders=0}}
  
 
This describes how to use a virtual machine for building the latest KDE from sources.
 
This describes how to use a virtual machine for building the latest KDE from sources.
Line 16: Line 16:
 
  chkconfig sshd on
 
  chkconfig sshd on
 
Inside the VM, install some needed packages:
 
Inside the VM, install some needed packages:
  yast -i libqt4-devel libsoprano-devel pcre-devel libxslt-devel libxml2-devel docbook-xsl-stylesheets git cmake \
+
  yast -i libqt4-devel pcre-devel libxslt-devel libxml2-devel docbook-xsl-stylesheets git cyrus-sasl-devel libiodbc-devel \
 
  libdbusmenu-qt-devel giflib-devel strigi-devel libQtWebKit-devel libqimageblitz-devel libical-devel libgpgme-devel \
 
  libdbusmenu-qt-devel giflib-devel strigi-devel libQtWebKit-devel libqimageblitz-devel libical-devel libgpgme-devel \
  boost-devel
+
  boost-devel libqjson-devel libredland-devel xcb-util-image-devel
  
 
;Now it is time to do a snapshot or clone from your VM.
 
;Now it is time to do a snapshot or clone from your VM.
Line 67: Line 67:
  
 
= Aquire and Build KDE as root =
 
= Aquire and Build KDE as root =
If something fails you may need to make clean.
+
If something fails you may need to make clean and rm CMakeCache.
 +
 
 +
== cmake ==
 +
Install the latest version of cmake:
 +
cd
 +
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
 +
tar xvzf cmake-2.8.10.2.tar.gz
 +
cd cmake-2.8.10.2
 +
./configure && make -j4 && make install
  
 
== automoc ==
 
== automoc ==
Line 74: Line 82:
 
  git clone kde:automoc
 
  git clone kde:automoc
 
  cd automoc
 
  cd automoc
cmakekde
 
 
== akonadi ==
 
Akonadi keeps personal information management data in a mysql database. It is needed for KDEPIMLIBS.
 
cd
 
git clone kde:akonadi
 
cd akonadi
 
 
  cmakekde
 
  cmakekde
  
Line 92: Line 93:
 
shared desktop ontologies is needed by kdepimlibs in order to build Nepomuk (which is a part of kdelibs)
 
shared desktop ontologies is needed by kdepimlibs in order to build Nepomuk (which is a part of kdelibs)
 
  cd
 
  cd
  wget http://downloads.sourceforge.net/project/oscaf/shared-desktop-ontologies/0.9/shared-desktop-ontologies-0.9.0.tar.bz2
+
  wget http://downloads.sourceforge.net/project/oscaf/shared-desktop-ontologies/0.10.0/shared-desktop-ontologies-0.10.0.tar.bz2
  bunzip2 shared-desktop-ontologies-0.9.0.tar.bz2
+
  tar xvjf shared-desktop-ontologies-0.10.0.tar.bz2
tar xvf shared-desktop-ontologies-0.9.0.tar
+
  cd shared-desktop-ontologies-0.10.0/
  cd shared-desktop-ontologies-0.9.0/
+
 
  cmake . && make && make install
 
  cmake . && make && make install
 +
 +
== soprano ==
 +
cd
 +
git clone kde:soprano
 +
cd soprano
 +
cmakekde
  
 
== phonon ==
 
== phonon ==
 
Phonon is needed for kdebase-runtime
 
Phonon is needed for kdebase-runtime
 
  cd
 
  cd
  git clone git://anongit.kde.org/phonon
+
  git clone kde:phonon
 
  cd phonon
 
  cd phonon
 +
cmakekde
 +
 +
== akonadi ==
 +
Akonadi keeps personal information management data in a mysql database. It is needed for KDEPIMLIBS.
 +
cd
 +
git clone kde:akonadi
 +
cd akonadi
 
  cmakekde
 
  cmakekde
  
Line 115: Line 128:
 
  kde4-config --prefix
 
  kde4-config --prefix
 
  /usr/local
 
  /usr/local
 +
 +
== nepomuk-core ==
 +
cd
 +
git clone kde:nepomuk-core
 +
cd nepomuk-core
 +
cmakekde
  
 
== kdepimlibs ==
 
== kdepimlibs ==
Line 147: Line 166:
 
  cd kde-runtime
 
  cd kde-runtime
 
  cmakekde
 
  cmakekde
 +
 +
= Next step =
 +
Now you can start developing. Best, install QtCreator:
 +
yast -i qt-creator
 +
And learn how to create a new KDE project or import an existing one by reading [[qtcreator]].

Latest revision as of 09:34, 27 January 2013


Tutorial Factbox
Time to replay 3 hours
Example Distro SUSE Linux 12.2
Type HowTo
Happy readers 2
Unhappy readers 0

This describes how to use a virtual machine for building the latest KDE from sources.

Contents

[edit] Virtual Machine Setup

Create a virtual machine, e.g. using VirtualBox. Regarding harddisk: KDE 4 fits into 10 GB, however I recommend 40GB, one partition. Regarding RAM: You will need at least 1GB ram for the virtual machine, of course more is better.

You will need to set your SUSE CD as your virtual machine's cdrom.

[edit] setup for SSH

To be able to log in to your VM using ssh, stop and disable the firewall:

rcSuSEfirewall2 stop
chkconfig SuSEfirewall2_setup off
chkconfig SuSEfirewall2_init off
/etc/init.d/sshd start
chkconfig sshd on

Inside the VM, install some needed packages:

yast -i libqt4-devel pcre-devel libxslt-devel libxml2-devel docbook-xsl-stylesheets git cyrus-sasl-devel libiodbc-devel \
libdbusmenu-qt-devel giflib-devel strigi-devel libQtWebKit-devel libqimageblitz-devel libical-devel libgpgme-devel \
boost-devel libqjson-devel libredland-devel xcb-util-image-devel
Now it is time to do a snapshot or clone from your VM.

You will be able to return to this machine state whenever you want.

[edit] a few more steps

Open a console as root

su -

[edit] on an x64 distribution

If and only if you have a /lib64 path, you are on an x64 distribution. Make sure you have the needed environment variables and alias set by having a file /root/.bashrc.

cd
cat >.bashrc<<EOF 
export KDEDIR=/usr/local         
alias cmakekde="cmake . -DCMAKE_INSTALL_PREFIX=\$KDEDIR -DLIB_SUFFIX=64 -DCMAKE_BUILD_TYPE=debugfull && make -j8 && make install"
alias cmakekdelibs="cmake ../kdelibs -DCMAKE_INSTALL_PREFIX=\$KDEDIR -DLIB_SUFFIX=64 -DCMAKE_BUILD_TYPE=debugfull && make -j8 && make install"
alias makeqt="./configure -dbus -openssl -plugin-sql-mysql -libdir /usr/lib64 -prefix /usr && make -j8 && make install"
export QTDIR=/usr
EOF
cat >.gitconfig<<EOF
[url "git://anongit.kde.org/"]
    insteadOf = kde:
[url "ssh://git@git.kde.org/"]
    pushInsteadOf = kde:
EOF

Now activate this file

. /root/.bashrc

[edit] on another distribution (incl 32bit)

Make sure you have the needed environment variables and alias set by having a file /root/.bashrc.

cd
cat >.bashrc<<EOF
export KDEDIR=/usr/local         
alias cmakekde="cmake . -DCMAKE_INSTALL_PREFIX=\$KDEDIR -DCMAKE_BUILD_TYPE=debugfull && make -j8 && make install"
alias cmakekdelibs="cmake ../kdelibs -DCMAKE_INSTALL_PREFIX=\$KDEDIR -DCMAKE_BUILD_TYPE=debugfull && make -j8 && make install"
alias makeqt="./configure -dbus -openssl -plugin-sql-mysql -prefix /usr && make -j8 && make install"
export QTDIR=/usr
EOF
cat >.gitconfig<<EOF
[url "git://anongit.kde.org/"]
    insteadOf = kde:
[url "ssh://git@git.kde.org/"]
    pushInsteadOf = kde:
EOF

Now activate this file

. /root/.bashrc

[edit] Aquire and Build KDE as root

If something fails you may need to make clean and rm CMakeCache.

[edit] cmake

Install the latest version of cmake:

cd
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
tar xvzf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./configure && make -j4 && make install

[edit] automoc

automoc is needed for akonadi.

cd
git clone kde:automoc
cd automoc
cmakekde

[edit] libattica

cd
git clone kde:attica
cd attica
cmakekde

[edit] shared desktop ontologies

shared desktop ontologies is needed by kdepimlibs in order to build Nepomuk (which is a part of kdelibs)

cd
wget http://downloads.sourceforge.net/project/oscaf/shared-desktop-ontologies/0.10.0/shared-desktop-ontologies-0.10.0.tar.bz2
tar xvjf shared-desktop-ontologies-0.10.0.tar.bz2
cd shared-desktop-ontologies-0.10.0/
cmake . && make && make install

[edit] soprano

cd
git clone kde:soprano
cd soprano
cmakekde

[edit] phonon

Phonon is needed for kdebase-runtime

cd
git clone kde:phonon
cd phonon
cmakekde

[edit] akonadi

Akonadi keeps personal information management data in a mysql database. It is needed for KDEPIMLIBS.

cd
git clone kde:akonadi
cd akonadi
cmakekde

[edit] kdelibs

KDELIBS requires an out-of-source build, that is why it is more complicated to build:

cd
git clone kde:kdelibs
mkdir kdelibs-build
cd kdelibs-build
cmakekdelibs

Verify it has been correctly installed - the following must be possible:

kde4-config --prefix
/usr/local

[edit] nepomuk-core

cd
git clone kde:nepomuk-core
cd nepomuk-core
cmakekde

[edit] kdepimlibs

kdepimlibs is needed for kde-runtime.

cd
git clone kde:kdepimlibs
cd kdepimlibs
cmakekde

[edit] kactivities

kactivities is needed for kde-workspace.

cd
git clone kde:kactivities
cd kactivities
cmakekde

[edit] kdebase

cd 
git clone kde:kde-baseapps
git clone kde:konsole
git clone kde:kde-workspace
git clone kde:kde-runtime 
cd kde-baseapps
cmakekde
cd
cd konsole
cmakekde
cd
cd kde-workspace
cmakekde
cd
cd kde-runtime
cmakekde

[edit] Next step

Now you can start developing. Best, install QtCreator:

yast -i qt-creator

And learn how to create a new KDE project or import an existing one by reading qtcreator.


This page was last modified on 27 January 2013, at 09:34. This page has been accessed 33,244 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal