(→set up repositories) |
m (moved Projects/KDE on Maemo/kdepim to Projects/Mobile/kdepim) |
||
| (15 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
This article describes how to compile KDEPIM 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 KDEPIM for maemo. It takes the Nokia N810 as example device. It uses the cross-compiling environment scratchbox on an Intel-based computer. | ||
| + | |||
| + | = Overview = | ||
| + | * ''garage'' is where the projects for maemo are hosted. Compare it with sourceforge. | ||
| + | * ''diablo'' is the version of maemo. Compare it with lenny. | ||
| + | * ''maemo'' is the software that runs on a device like Nokia's N810 | ||
| + | * ''scratchbox'' is a cross-compiling environment to enable you to create software for maemo on an i386. | ||
| + | * ''busybox'' is a single binary that allows you to run commands like ls, cat and bunzip2 | ||
| + | * ''hildon'' is a desktop like plasma | ||
| + | |||
| + | For more information see wikipedia. | ||
= On the Nokia itself = | = On the Nokia itself = | ||
| − | == install | + | == install openssh == |
* to install openssh on a nokia 810 | * to install openssh on a nokia 810 | ||
* activate the maemo repository in the package manager | * activate the maemo repository in the package manager | ||
| Line 14: | Line 24: | ||
** openssh | ** openssh | ||
** install | ** install | ||
| + | |||
| + | == install subversion == | ||
ssh root@localhost | ssh root@localhost | ||
apt-get install subversion | apt-get install subversion | ||
= In scratchbox = | = In scratchbox = | ||
| − | You cannot install scratchbox on an X64 computer, so, install an i386 into a VMWare virtual machine | + | You cannot install scratchbox on an X64 computer, so, install an i386 into a VMWare virtual machine. The following describes how to install scratchbox into a SUSE 11 32bit installation. It might work same or similar with any Linux. |
== Hello world == | == Hello world == | ||
| Line 27: | Line 39: | ||
root@i386 # chmod 777 maemo-scratchbox-install_4.1.2.sh | root@i386 # chmod 777 maemo-scratchbox-install_4.1.2.sh | ||
root@i386 # ./maemo-scratchbox-install_4.1.2.sh -s /scratchbox | root@i386 # ./maemo-scratchbox-install_4.1.2.sh -s /scratchbox | ||
| − | root@i386 # /scratchbox/sbin/sbox_adduser | + | root@i386 # /scratchbox/sbin/sbox_adduser scratchboxuser |
root@i386 # su - scratchboxuser | root@i386 # su - scratchboxuser | ||
* set up the SDK | * set up the SDK | ||
| − | + | scratchboxuser@i386 $ wget http://repository.maemo.org/stable/diablo/maemo-sdk-install_4.1.2.sh | |
Start the install script and accept all choices: | Start the install script and accept all choices: | ||
scratchboxuser@i386 $ sh maemo-sdk-install_4.1.2.sh | scratchboxuser@i386 $ sh maemo-sdk-install_4.1.2.sh | ||
| Line 87: | Line 99: | ||
apt-get install xsltproc | apt-get install xsltproc | ||
apt-get install libboost-dev | apt-get install libboost-dev | ||
| + | apt-get install libakonadi-dev | ||
apt-get install kdepimlibs5-dev | apt-get install kdepimlibs5-dev | ||
| − | + | apt-get install libstreamanalyzer-dev | |
| − | + | ||
| − | + | ||
svn co https://svn.kde.org/home/kde/branches/KDE/4.1/kdepim | svn co https://svn.kde.org/home/kde/branches/KDE/4.1/kdepim | ||
cd kdepim | cd kdepim | ||
| Line 96: | Line 107: | ||
Here you can get to run singular applications, e.g. ktimetracker. | Here you can get to run singular applications, e.g. ktimetracker. | ||
| − | == | + | == on the N810 again == |
| − | + | Copy the applications and libs to the Nokia. Singular applications work, e.g. ktimetracker. Put all libraries and executables onto your flash storage (/media/mmc1) and start it: | |
| − | + | EXPORT LD_LIBRARY_PATH=. | |
| − | + | ./ktimetracker | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | = | + | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
= Know-how = | = Know-how = | ||
| Line 136: | Line 127: | ||
wget http://93.157.1.37/~marijn/maemo/binary/libqt4-assistant_4.4.1-1maemo0_armel.deb | wget http://93.157.1.37/~marijn/maemo/binary/libqt4-assistant_4.4.1-1maemo0_armel.deb | ||
wget http://93.157.1.37/~marijn/maemo/binary/libqt4-xmlpatterns_4.4.1-1maemo0_armel.deb | wget http://93.157.1.37/~marijn/maemo/binary/libqt4-xmlpatterns_4.4.1-1maemo0_armel.deb | ||
| + | |||
| + | == kompile kdelibs == | ||
| + | |||
| + | === pcre === | ||
| + | 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 | ||
| + | |||
| + | === 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 | ||
= TroubleShooting = | = TroubleShooting = | ||
This article describes how to compile KDEPIM for maemo. It takes the Nokia N810 as example device. It uses the cross-compiling environment scratchbox on an Intel-based computer.
Contents |
For more information see wikipedia.
ssh root@localhost apt-get install subversion
You cannot install scratchbox on an X64 computer, so, install an i386 into a VMWare virtual machine. The following describes how to install scratchbox into a SUSE 11 32bit installation. It might work same or similar with any Linux.
First, we want to compile a "hello world" program for the Nokia. Here is how.
root@i386 # useradd -m scratchboxuser root@i386 # wget http://repository.maemo.org/stable/diablo/maemo-scratchbox-install_4.1.2.sh root@i386 # chmod 777 maemo-scratchbox-install_4.1.2.sh root@i386 # ./maemo-scratchbox-install_4.1.2.sh -s /scratchbox root@i386 # /scratchbox/sbin/sbox_adduser scratchboxuser root@i386 # su - scratchboxuser
scratchboxuser@i386 $ wget http://repository.maemo.org/stable/diablo/maemo-sdk-install_4.1.2.sh
Start the install script and accept all choices:
scratchboxuser@i386 $ sh maemo-sdk-install_4.1.2.sh
scratchboxuser@i386 $ /scratchbox/login
[sbox-DIABLO_ARMEL: ~] > sb-conf select DIABLO_ARMEL
[sbox-DIABLO_ARMEL: ~] > cat > main.c << EOF
#include <stdio.h>
int main()
{
printf("hello world");
}
EOF
[sbox-DIABLO_ARMEL: ~] > gcc main.c
[sbox-DIABLO_ARMEL: ~] > file a.out
a.out: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), not stripped
=> the file is executable on the Nokia
To re-login after a reboot of your virtual machine run
/scratchbox/sbin/sbox_ctl start /scratchbox/login
cat >>/etc/apt/sources.list<<EOF # repository with experimental kde packages and dependencies deb http://93.157.1.37/~marijn/maemo binary/ deb http://repository.maemo.org/ diablo free non-free deb-src http://repository.maemo.org/ diablo free deb http://repository.maemo.org/extras-devel/ diablo free deb-src http://repository.maemo.org/extras-devel/ diablo free deb http://qt4.garage.maemo.org diablo extra EOF apt-get update
root@i386 # cp /etc/resolv.conf /scratchbox/etc/resolv.conf
wget http://www.cmake.org/files/v2.6/cmake-2.6.2.tar.gz tar xvzf cmake-2.6.2.tar.gz cd cmake-2.6.2 ./bootstrap && make -j4 && make install
cd apt-get install shared-mime-info apt-get install xsltproc apt-get install libboost-dev apt-get install libakonadi-dev apt-get install kdepimlibs5-dev apt-get install libstreamanalyzer-dev svn co https://svn.kde.org/home/kde/branches/KDE/4.1/kdepim cd kdepim cmake . && make && make install
Here you can get to run singular applications, e.g. ktimetracker.
Copy the applications and libs to the Nokia. Singular applications work, e.g. ktimetracker. Put all libraries and executables onto your flash storage (/media/mmc1) and start it:
EXPORT LD_LIBRARY_PATH=. ./ktimetracker
wget http://93.157.1.37/~marijn/maemo/binary/libqt4-qt3support_4.4.1-1maemo0_armel.deb wget http://93.157.1.37/~marijn/maemo/binary/libqt4-designer_4.4.1-1maemo0_armel.deb wget http://93.157.1.37/~marijn/maemo/binary/libqt4-script_4.4.1-1maemo0_armel.deb wget http://93.157.1.37/~marijn/maemo/binary/libqt4-dbus_4.4.1-1maemo0_armel.deb wget http://93.157.1.37/~marijn/maemo/binary/libqtcore4_4.4.1-1maemo0_armel.deb wget http://93.157.1.37/~marijn/maemo/binary/libqtgui4_4.4.1-1maemo0_armel.deb wget http://93.157.1.37/~marijn/maemo/binary/libqt4-xml_4.4.1-1maemo0_armel.deb wget http://93.157.1.37/~marijn/maemo/binary/libqt4-test_4.4.1-1maemo0_armel.deb wget http://93.157.1.37/~marijn/maemo/binary/libqt4-sql_4.4.1-1maemo0_armel.deb wget http://93.157.1.37/~marijn/maemo/binary/libqt4-webkit_4.4.1-1maemo0_armel.deb wget http://93.157.1.37/~marijn/maemo/binary/libqt4-svg_4.4.1-1maemo0_armel.deb wget http://93.157.1.37/~marijn/maemo/binary/libqt4-assistant_4.4.1-1maemo0_armel.deb wget http://93.157.1.37/~marijn/maemo/binary/libqt4-xmlpatterns_4.4.1-1maemo0_armel.deb
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
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
If
cmake
delivers
FATAL: kernel too old
This happened for me with SLES 10. Better use SUSE 10.3 or SUSE 11.
On SLES 10, I got
Processing was halted because there were too many errors. E: Sub-process /scratchbox/devkits/debian-etch/bin/dpkg returned an error code (1) E: Unable to install maemo-sdk-dev on DIABLO_ARMEL target. E: Please check the sources.list for errors. E: Scratchbox login returned error 100.
In this case, change your distribution and start again.
Should you get
collect2: ld terminated with signal 9 [Killed]
Increase the amount of memory for the virtual machine, 512MB is not always enough.