(don't tell the reader "you will need to do some homework" without telling him what to do :(() |
(kdepimlibs is again needed :() |
||
| (76 intermediate revisions by one user not shown) | |||
| Line 1: | Line 1: | ||
| − | {{Infobox tutorial|time= | + | {{Infobox tutorial|time=3 hours|type=HowTo|distribution=SUSE Linux 12.1|happyreaders=2|unhappyreaders=0}} |
| − | This describes | + | This describes how to use a virtual machine for building the latest KDE from sources. |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
= Virtual Machine Setup = | = Virtual Machine Setup = | ||
| − | Create a | + | Create a virtual machine, e.g. using [http://www.linuxintro.org/wiki/VMWare VMware Player]. Regarding harddisk: KDE 4 fits into 10 GB, however [[User:Tstaerk|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. | ;You will need to set your SUSE CD as your virtual machine's cdrom. | ||
| Line 20: | Line 14: | ||
chkconfig SuSEfirewall2_init off | chkconfig SuSEfirewall2_init off | ||
/etc/init.d/sshd start | /etc/init.d/sshd start | ||
| + | chkconfig sshd on | ||
Inside the VM, install some needed packages: | Inside the VM, install some needed packages: | ||
| − | yast -i | + | yast -i libqt4-devel libsoprano-devel pcre-devel libxslt-devel libxml2-devel docbook-xsl-stylesheets git cmake \ |
| − | + | libdbusmenu-qt-devel giflib-devel strigi-devel libQtWebKit-devel libqimageblitz-devel libical-devel libgpgme-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. | ||
You will be able to return to this machine state whenever you want. | You will be able to return to this machine state whenever you want. | ||
| − | |||
== a few more steps == | == a few more steps == | ||
| Line 39: | Line 29: | ||
If and only if you have a /lib64 path, you are 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. | Make sure you have the needed environment variables and alias set by having a file /root/.bashrc. | ||
| + | cd | ||
cat >.bashrc<<EOF | cat >.bashrc<<EOF | ||
export KDEDIR=/usr/local | export KDEDIR=/usr/local | ||
| Line 45: | Line 36: | ||
alias makeqt="./configure -dbus -openssl -plugin-sql-mysql -libdir /usr/lib64 -prefix /usr && make -j8 && make install" | alias makeqt="./configure -dbus -openssl -plugin-sql-mysql -libdir /usr/lib64 -prefix /usr && make -j8 && make install" | ||
export QTDIR=/usr | export QTDIR=/usr | ||
| + | EOF | ||
| + | cat >.gitconfig<<EOF | ||
| + | [url "git://anongit.kde.org/"] | ||
| + | insteadOf = kde: | ||
| + | [url "ssh://git@git.kde.org/"] | ||
| + | pushInsteadOf = kde: | ||
EOF | EOF | ||
Now activate this file | Now activate this file | ||
| Line 51: | Line 48: | ||
== on another distribution (incl 32bit)== | == on another distribution (incl 32bit)== | ||
Make sure you have the needed environment variables and alias set by having a file /root/.bashrc. | Make sure you have the needed environment variables and alias set by having a file /root/.bashrc. | ||
| + | cd | ||
cat >.bashrc<<EOF | cat >.bashrc<<EOF | ||
export KDEDIR=/usr/local | export KDEDIR=/usr/local | ||
| Line 57: | Line 55: | ||
alias makeqt="./configure -dbus -openssl -plugin-sql-mysql -prefix /usr && make -j8 && make install" | alias makeqt="./configure -dbus -openssl -plugin-sql-mysql -prefix /usr && make -j8 && make install" | ||
export QTDIR=/usr | export QTDIR=/usr | ||
| + | EOF | ||
| + | cat >.gitconfig<<EOF | ||
| + | [url "git://anongit.kde.org/"] | ||
| + | insteadOf = kde: | ||
| + | [url "ssh://git@git.kde.org/"] | ||
| + | pushInsteadOf = kde: | ||
EOF | EOF | ||
Now activate this file | Now activate this file | ||
| Line 64: | Line 68: | ||
If something fails you may need to make clean. | If something fails you may need to make clean. | ||
| − | == | + | == automoc == |
| + | automoc is needed for akonadi. | ||
cd | cd | ||
| − | + | git clone kde:automoc | |
| − | cd | + | cd automoc |
cmakekde | cmakekde | ||
| − | == | + | == akonadi == |
| + | Akonadi keeps personal information management data in a mysql database. It is needed for KDEPIMLIBS. | ||
cd | cd | ||
| − | git clone | + | git clone kde:akonadi |
| − | cd | + | cd akonadi |
cmakekde | cmakekde | ||
| − | == | + | == libattica == |
cd | cd | ||
| − | git clone | + | git clone kde:attica |
| − | cd | + | cd attica |
cmakekde | cmakekde | ||
== shared desktop ontologies == | == shared desktop ontologies == | ||
| + | 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. | + | wget http://downloads.sourceforge.net/project/oscaf/shared-desktop-ontologies/0.9/shared-desktop-ontologies-0.9.0.tar.bz2 |
| − | bunzip2 shared-desktop-ontologies-0. | + | bunzip2 shared-desktop-ontologies-0.9.0.tar.bz2 |
| − | tar xvf shared-desktop-ontologies-0. | + | tar xvf shared-desktop-ontologies-0.9.0.tar |
| − | cd shared-desktop-ontologies-0. | + | cd shared-desktop-ontologies-0.9.0/ |
cmake . && make && make install | cmake . && make && make install | ||
| − | == | + | == phonon == |
| − | + | Phonon is needed for kdebase-runtime | |
| − | + | cd | |
| − | + | git clone git://anongit.kde.org/phonon | |
| − | cd | + | cd phonon |
| − | + | cmakekde | |
== kdelibs == | == kdelibs == | ||
KDELIBS requires an out-of-source build, that is why it is more complicated to build: | KDELIBS requires an out-of-source build, that is why it is more complicated to build: | ||
| − | |||
cd | cd | ||
| − | + | git clone kde:kdelibs | |
mkdir kdelibs-build | mkdir kdelibs-build | ||
cd kdelibs-build | cd kdelibs-build | ||
| Line 110: | Line 116: | ||
== kdepimlibs == | == kdepimlibs == | ||
| + | kdepimlibs is needed for kde-runtime. | ||
cd | cd | ||
| − | + | git clone kde:kdepimlibs | |
cd kdepimlibs | cd kdepimlibs | ||
| + | cmakekde | ||
| + | |||
| + | == kactivities == | ||
| + | kactivities is needed for kde-workspace. | ||
| + | cd | ||
| + | git clone kde:kactivities | ||
| + | cd kactivities | ||
cmakekde | cmakekde | ||
== kdebase == | == kdebase == | ||
cd | cd | ||
| − | + | git clone kde:kde-baseapps | |
| − | cd | + | 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 | cmakekde | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| Time to replay | 3 hours |
| Example Distro | SUSE Linux 12.1 |
| Type | HowTo |
| Happy readers | 2 |
| Unhappy readers | 0 |
This describes how to use a virtual machine for building the latest KDE from sources.
Contents |
Create a virtual machine, e.g. using VMware Player. 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.
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 libsoprano-devel pcre-devel libxslt-devel libxml2-devel docbook-xsl-stylesheets git cmake \ libdbusmenu-qt-devel giflib-devel strigi-devel libQtWebKit-devel libqimageblitz-devel libical-devel libgpgme-devel
You will be able to return to this machine state whenever you want.
Open a console as root
su -
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
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
If something fails you may need to make clean.
automoc is needed for akonadi.
cd git clone kde:automoc cd automoc cmakekde
Akonadi keeps personal information management data in a mysql database. It is needed for KDEPIMLIBS.
cd git clone kde:akonadi cd akonadi cmakekde
cd git clone kde:attica cd attica cmakekde
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.9/shared-desktop-ontologies-0.9.0.tar.bz2 bunzip2 shared-desktop-ontologies-0.9.0.tar.bz2 tar xvf shared-desktop-ontologies-0.9.0.tar cd shared-desktop-ontologies-0.9.0/ cmake . && make && make install
Phonon is needed for kdebase-runtime
cd git clone git://anongit.kde.org/phonon cd phonon cmakekde
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
kdepimlibs is needed for kde-runtime.
cd git clone kde:kdepimlibs cd kdepimlibs cmakekde
kactivities is needed for kde-workspace.
cd git clone kde:kactivities cd kactivities cmakekde
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