Editing KDE on scratchbox for maemo 4

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
This article describes how to compile KDE for maemo. It takes the Nokia N810 as example device. It uses the cross-compiling environment scratchbox on an Intel-based computer.  
This article describes how to compile KDE for maemo. It takes the Nokia N810 as example device. It uses the cross-compiling environment scratchbox on an Intel-based computer.  
-
 
-
{|align="right"
 
-
    |[[image:Snapshot-ktimetracker-n810.jpg|thumb|400px|Many KDE applications can run on maemo, here: [http://userbase.kde.org/ktimetracker ktimetracker] (click to enlarge).]]
 
-
    |}
 
== Overview ==
== Overview ==
Line 48: Line 44:
== Re-login ==
== Re-login ==
To re-login after a reboot of your virtual machine run
To re-login after a reboot of your virtual machine run
-
  root@i386 $ /scratchbox/sbin/sbox_ctl start
+
  /scratchbox/sbin/sbox_ctl start
-
root@i386 $ su - scratchboxuser
+
  scratchboxuser@i386 $ /scratchbox/login
  scratchboxuser@i386 $ /scratchbox/login
Line 105: Line 100:
  [sbox-DIABLO_ARMEL: ~/qttest] > export DISPLAY=:4
  [sbox-DIABLO_ARMEL: ~/qttest] > export DISPLAY=:4
  [sbox-DIABLO_ARMEL: ~/qttest] > ./qttest
  [sbox-DIABLO_ARMEL: ~/qttest] > ./qttest
-
Now you should see a "hello world" button in a graphical window.
 
-
 
-
== Install cmake ==
 
-
[sbox-DIABLO_ARMEL: ~/qttest] > wget http://www.cmake.org/files/v2.6/cmake-2.6.2.tar.gz
 
-
[sbox-DIABLO_ARMEL: ~/qttest] > tar xvzf cmake-2.6.2.tar.gz
 
-
[sbox-DIABLO_ARMEL: ~/qttest] > cd cmake-2.6.2
 
-
[sbox-DIABLO_ARMEL: ~/qttest] > ./bootstrap && make -j4 && make install
 
-
I ran into [http://www.cmake.org/pipermail/cmake/2009-February/027065.html this issue], so I created link.txt by compiling cmake in a non-scratchbox environment and copying it over.
 
-
 
-
== shared-mime-info ==
 
-
Shared-mime-info 0.2 or greater is needed for KDE.
 
-
[sbox-DIABLO_ARMEL: ~] > cd
 
-
[sbox-DIABLO_ARMEL: ~] > wget http://freedesktop.org/~hadess/shared-mime-info-0.20.tar.bz2
 
-
[sbox-DIABLO_ARMEL: ~] > bunzip2 shared-mime-info-0.20.tar.bz2
 
-
[sbox-DIABLO_ARMEL: ~] > tar xvf shared-mime-info-0.20.tar
 
-
[sbox-DIABLO_ARMEL: ~] > cd shared-mime-info-0.20
 
-
[sbox-DIABLO_ARMEL: ~] > ./configure && make && make install
 
-
Make sure version 0.2 is in place:
 
-
[sbox-DIABLO_ARMEL: ~] > update-mime-database -v
 
-
update-mime-database (shared-mime-info) 0.19
 
-
[...]
 
-
[sbox-DIABLO_ARMEL: ~] > export PATH=/usr/local/bin:$PATH
 
-
[sbox-DIABLO_ARMEL: ~] > update-mime-database -v
 
-
update-mime-database (shared-mime-info) 0.20
 
-
[...]
 
-
 
-
== kdesupport ==
 
-
Compile kdesupport
 
-
apt-get install libboost-dev
 
-
apt-get install libboost-program-options-dev
 
-
apt-get install xsltproc
 
-
svn co https://svn.kde.org/home/kde/trunk/kdesupport
 
-
cd kdesupport
 
-
cmake . && make
 
-
If you again get the error about a missing link.txt, try copying /scratcbox/devkits/qemu/bin/qemu-arm-sb from a fremantle installation to /scratchbox/devkits/cputransp/bin and configure your target configuration to use this
 
-
make install
 
-
 
-
== pcre ==
 
-
PCRE is needed for kdelibs
 
-
cd
 
-
curl ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.gz>pcre-7.9.tar.gz
 
-
tar xvzf pcre-7.9.tar.gz
 
-
cd pcre-7.9
 
-
./configure && make && make install
 
-
 
-
== libXslt ==
 
-
libxslt is needed for kdelibs
 
-
cd
 
-
curl ftp://xmlsoft.org/libxslt/libxslt-1.1.26.tar.gz>libxslt-1.1.26.tar.gz
 
-
tar xvzf libxslt-1.1.26.tar.gz
 
-
cd libxslt-1.1.26
 
-
./configure && make && make install
 
-
 
-
== libgif-devel ==
 
-
apt-get install giflib-dev
 
-
 
-
== kdelibs ==
 
-
cd
 
-
svn co https://svn.kde.org/home/kde/branches/KDE/4.1/kdelibs
 
-
mkdir kdelibs-build
 
-
cd kdelibs-build
 
-
cmake ../kdelibs && make && make install
 
-
 
-
[sbox-DIABLO_ARMEL: ~/kdelibs-build] >
 
-
[sbox-DIABLO_ARMEL: ~/kdelibs-build] > kde4-config --version
 
-
Qt: 4.5.2
 
-
KDE: 4.1.4 (KDE 4.1.4)
 
-
kde4-config(8125) KLocalePrivate::initEncoding: Cannot resolve system encoding, defaulting to ISO 8859-1.
 
-
kde4-config: 1.0
 
-
 
-
Congratulations! Your first kde 4 software is running :)
 
-
 
-
== gpgme ==
 
-
gpgme is needed for kdepimlibs.
 
-
apt-get install libgpgme11-dev libgpg-error-dev
 
-
 
-
== kdepimlibs ==
 
-
cd                                                               
 
-
svn co https://svn.kde.org/home/kde/branches/KDE/4.1/kdepimlibs
 
-
cd kdepimlibs
 
-
cmake . && make && make install
 
-
 
-
== checkinstall ==
 
-
Checkinstall is needed to build packages that we will copy.
 
-
wget http://www.asic-linux.com.mx/~izto/checkinstall/files/source/checkinstall-1.6.2.tar.gz
 
-
tar xvzf checkinstall-1.6.2.tar.gz
 
-
make
 
-
make install
 
-
Repair installwatch
 
-
vi /usr/local/bin/installwatch
 
-
Set
 
-
FAIL=1
 
-
to
 
-
FAIL=0
 
-
 
-
== ktimetracker ==
 
-
As example application that we want to run on the N810, we take ktimetracker from the KDEPIM package. So, checkout kdepim
 
-
cd
 
-
svn co https://svn.kde.org/home/kde/branches/KDE/4.1/kdepim
 
-
cd kdepim
 
-
cmake . && make
 
-
This results in an error, however we go on:
 
-
cd ktimetracker
 
-
make
 
-
Now, as checkinstall does not work, we manually put the dependencies into a package:
 
-
ldd ktimetracker
 
-
Copy all the files into /root/slash on the N810. Copy the file ktimetracker there. Copy the menu file /usr/local/share/apps/ktimetracker/karmui.rc there.
 
-
 
-
= back on the N810 =
 
-
cd /root/slash
 
-
export LD_LIBRARY_PATH=.
 
-
./ktimetracker
 
-
 
-
= Hints =
 
-
 
-
== How to make a screenshot ==
 
-
Here is how you can trigger a screenshot from command line under maemo:
 
-
apt-get install graphicsmagick
 
-
[http://www.man-wiki.net/index.php/1:gm#GM_IMPORT gm import] -window root rootwindow.jpg
 
-
 
-
== How to use the SD storage ==
 
-
If you want to store your KDE executables on the large /media/mmc1, you have to play some tricks. Remember that your N810 cannot format anything as ext2 (let alone ext3 and ext4). So you have to mount your mini SD card as vfat with all permissions set, so that every file is executable:
 
-
cd
 
-
umount /media/mmc1
 
-
mount /dev/mmcblk1p1 /media/mmc1 -t vfat -o umask=000
 
-
 
-
= See also =
 
-
* http://techbase.kde.org/Projects/Maemo/kdepim
 
-
 
-
[[Category:KDE]]
 
-
[[Category:Diablo]]
 

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)