User:Tstaerk
(→Compiling on the N810) |
(Removed broken wanted page) |
||
(39 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
= Incubator = | = Incubator = | ||
Here I prepare articles for this wiki to come. | Here I prepare articles for this wiki to come. | ||
+ | |||
+ | == how to add an application to the menu == | ||
+ | cd /usr/share/applications/hildon/ | ||
+ | Here you copy a desktop file. | ||
+ | /etc/xdg/menus/hildon.menu: | ||
+ | <Filename>blah</Filename> | ||
+ | einfügen | ||
+ | |||
+ | == maemo 5 == | ||
+ | Installing maemo 5 (freemantle, see [[codenames]]) for N900 (maemo 5 does not run on the N810) in a SUSE Linux 11.2 x32 virtual machine resulted in | ||
+ | Processing was halted because there were too many errors. | ||
+ | So trying SUSE 11.1 (where maemo 4 worked): | ||
+ | root@i386 # useradd -m scratchboxuser | ||
+ | root@i386 # passwd scratchboxuser | ||
+ | root@i386 # wget http://repository.maemo.org/stable/fremantle/maemo-scratchbox-install_5.0.sh | ||
+ | root@i386 # chmod 777 maemo-scratchbox-install_5.0.sh | ||
+ | root@i386 # ./maemo-scratchbox-install_5.0.sh -s /scratchbox | ||
+ | root@i386 # /scratchbox/sbin/sbox_adduser scratchboxuser | ||
+ | root@i386 # su - scratchboxuser | ||
+ | scratchboxuser@i386 $ wget http://repository.maemo.org/stable/fremantle/maemo-sdk-install_5.0.sh | ||
+ | scratchboxuser@i386 $ sh maemo-sdk-install_5.0.sh | ||
+ | results in | ||
+ | Happy hacking! | ||
+ | |||
+ | scratchboxuser@i386 $ /scratchbox/login | ||
+ | scratchboxuser@i386 $ sb-conf select FREEMANTEL_ARMEL | ||
+ | |||
+ | === cmake === | ||
+ | [sbox-FREMANTLE_ARMEL: ~] > cd | ||
+ | [sbox-FREMANTLE_ARMEL: ~] > wget http://www.cmake.org/files/v2.6/cmake-2.6.2.tar.gz | ||
+ | [sbox-FREMANTLE_ARMEL: ~/cmake-2.6.2] > tar xvzf cmake-2.6.2.tar.gz | ||
+ | [sbox-FREMANTLE_ARMEL: ~/cmake-2.6.2] > cd cmake-2.6.2 | ||
+ | [sbox-FREMANTLE_ARMEL: ~/cmake-2.6.2] > ./bootstrap && make -j4 && make install | ||
+ | |||
+ | === subversion === | ||
+ | [sbox-FREMANTLE_ARMEL: ~] > apt-get install subversion | ||
+ | |||
+ | === Qt === | ||
+ | Download Qt everywhere 4.6 and build it using | ||
+ | ./configure --prefix=/usr && make -j2 && make install | ||
+ | |||
+ | === libical === | ||
+ | libical is needed for kdepimlibs | ||
+ | cd | ||
+ | wget http://downloads.sourceforge.net/project/freeassociation/libical/libical-0.44/libical-0.44.tar.gz?use_mirror=switch | ||
+ | tar xvzf libical-0.44.tar.gz | ||
+ | cd libical-0.44 | ||
+ | ./configure && make -j2 && make install | ||
+ | |||
+ | === gpgme === | ||
+ | gpgme is needed for kdepimlibs | ||
+ | curl ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-1.1.8.tar.bz2 > gpgme-1.1.8.tar.bz2 | ||
+ | bunzip2 gpgme-1.1.8.tar.bz2 | ||
+ | tar xvf gpgme-1.1.8.tar | ||
+ | cd gpgme-1.1.8 | ||
+ | ./configure && make -j2 && make install | ||
+ | |||
+ | === boost === | ||
+ | libboost is needed for kdepimlibs | ||
+ | apt-get install libboost-graph-dev | ||
+ | |||
+ | === giflib === | ||
+ | wget http://downloads.sourceforge.net/project/giflib/giflib%204.x/giflib-4.1.6/giflib-4.1.6.tar.bz2?use_mirror=switch | ||
+ | |||
+ | == Xephyr == | ||
+ | SUSE 11.2: xorg-x11-server-extra | ||
+ | |||
+ | '''main.cpp''' | ||
+ | #include <QApplication> | ||
+ | #include <QPushButton> | ||
+ | int main(int argc, char ** argv) | ||
+ | { | ||
+ | QApplication qa(argc,argv); | ||
+ | QPushButton* qp=new QPushButton("hello world"); | ||
+ | qp->show(); | ||
+ | return qa.exec(); | ||
+ | } | ||
+ | |||
+ | Build and run it: | ||
+ | |||
+ | export DISPLAY=:4 | ||
+ | qmake -project && qmake && make && ./qttest | ||
== Compiling on the N810 == | == Compiling on the N810 == | ||
* [[install openssh on the N810]] | * [[install openssh on the N810]] | ||
- | * Find out what maemo version you have. Choose Settings -> Control Panel -> About. If you get "Product maemo Linux based OS2008 Version:5.2008.43-7" this means maemo 4.1. So you have maemo, os2008 and diablo ( | + | * Find out what maemo version you have. Choose Settings -> Control Panel -> About. If you get "Product maemo Linux based OS2008 Version:5.2008.43-7" this means maemo 4.1. So you have maemo, os2008 and diablo ([http://wiki.maemo.org/Codenames more info]). |
* download wget from http://repository.maemo.org/pool/maemo4.1.2/free/w/wget/. Copy it to your computer and scp it to your N810. | * download wget from http://repository.maemo.org/pool/maemo4.1.2/free/w/wget/. Copy it to your computer and scp it to your N810. | ||
* get glibc | * get glibc | ||
Line 13: | Line 95: | ||
wget http://repository.maemo.org/pool/maemo4.1.2/free/g/gcc-3.4/libgcc1_3.4.4cs2005q3.2-5.osso8_armel.deb | wget http://repository.maemo.org/pool/maemo4.1.2/free/g/gcc-3.4/libgcc1_3.4.4cs2005q3.2-5.osso8_armel.deb | ||
* install everything | * install everything | ||
- | dpkg -i gcc-3.4_3.4.4cs2005q3.2-5.osso8_armel.deb | + | dpkg -i gcc-3.4_3.4.4cs2005q3.2-5.osso8_armel.deb libc6-dev_2.5.0-1osso10_armel.deb linux-kernel-headers/linux-kernel-headers_2.6.16.osso11-1_armel.deb |
+ | * do the usual test | ||
+ | Nokia-N810-43-7:~# cat main.c | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int main() | ||
+ | { printf("hello world"); } | ||
+ | |||
+ | Nokia-N810-43-7:~# gcc-3.4 -o greeter main.c | ||
+ | Nokia-N810-43-7:~# ./greeter | ||
+ | hello worldNokia-N810-43-7:~# | ||
+ | |||
+ | == C++ == | ||
+ | * Try to compile a C++ program | ||
+ | Nokia-N810-43-7:/media/mmc1# cat main.cpp | ||
+ | #include <iostream> | ||
+ | int main() | ||
+ | { | ||
+ | std::cout << "hello C++" << std::endl; | ||
+ | } | ||
+ | Nokia-N810-43-7:/media/mmc1# gcc-3.4 main.cpp | ||
+ | <unknown> tried to exec cc1plus but failed (No such file or directory) | ||
+ | |||
+ | * download g++ | ||
+ | wget http://repository.maemo.org/pool/maemo4.1.2/free/g/gcc-3.4/g++-3.4_3.4.4cs2005q3.2-5.osso8_armel.deb | ||
+ | |||
+ | * download lib standard C++ | ||
+ | wget http://repository.maemo.org/pool/maemo4.1.2/free/g/gcc-3.4/libstdc++6-dev_3.4.4cs2005q3.2-5.osso8_armel.deb | ||
+ | |||
+ | * install g++ | ||
+ | dpkg -i libstdc++6-dev_3.4.4cs2005q3.2-5.osso8_armel.deb g++-3.4_3.4.4cs2005q3.2-5.osso8_armel.deb | ||
+ | |||
+ | * try to compile main.cpp again | ||
+ | gcc-3.4 main.cpp | ||
+ | /var/tmp/ccQkm9NS.o: In function `std::__verify_grouping... | ||
+ | |||
+ | * ok, but do it right | ||
+ | gcc-3.4 -lstdc++ main.cpp | ||
+ | ./a.out | ||
+ | hello C++ | ||
+ | |||
+ | == Compiling software with automake == | ||
+ | Does not work. | ||
+ | |||
+ | == Compiling Qt software == | ||
+ | <pre> | ||
+ | Nokia-N810-43-7:~# cat /etc/apt/sources.list | ||
+ | deb http://repository.maemo.org/extras/ diablo free | ||
+ | deb-src http://repository.maemo.org/extras/ diablo free | ||
+ | Nokia-N810-43-7:~# apt-get install libqtcore4 | ||
+ | </pre> | ||
+ | apt-get install libqt4-dev | ||
+ | <pre> | ||
+ | # cat qttest2.cpp | ||
+ | #include <QApplication> | ||
+ | #include <QPushButton> | ||
+ | int main(int argc, char ** argv) | ||
+ | { | ||
+ | QApplication qa(argc,argv); | ||
+ | QPushButton* qp=new QPushButton("hello world"); | ||
+ | qp->show(); | ||
+ | return qa.exec(); | ||
+ | } | ||
+ | |||
+ | # g\+\+-3.4 -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. qttest2.cpp -lQtCore -lQtGui | ||
+ | # ./a.out | ||
+ | </pre> | ||
+ | |||
+ | = Contributions = | ||
+ | Here are the contributions I am proud of | ||
+ | * [[Compiling_on_the_N810]] | ||
+ | * [[KDE]] | ||
+ | * [[KDE on scratchbox]] | ||
+ | * [[Install openssh on the N810]] |
Latest revision as of 16:35, 21 January 2013
Contents |
[edit] Incubator
Here I prepare articles for this wiki to come.
[edit] how to add an application to the menu
cd /usr/share/applications/hildon/
Here you copy a desktop file. /etc/xdg/menus/hildon.menu:
<Filename>blah</Filename>
einfügen
[edit] maemo 5
Installing maemo 5 (freemantle, see codenames) for N900 (maemo 5 does not run on the N810) in a SUSE Linux 11.2 x32 virtual machine resulted in
Processing was halted because there were too many errors.
So trying SUSE 11.1 (where maemo 4 worked):
root@i386 # useradd -m scratchboxuser root@i386 # passwd scratchboxuser root@i386 # wget http://repository.maemo.org/stable/fremantle/maemo-scratchbox-install_5.0.sh root@i386 # chmod 777 maemo-scratchbox-install_5.0.sh root@i386 # ./maemo-scratchbox-install_5.0.sh -s /scratchbox root@i386 # /scratchbox/sbin/sbox_adduser scratchboxuser root@i386 # su - scratchboxuser scratchboxuser@i386 $ wget http://repository.maemo.org/stable/fremantle/maemo-sdk-install_5.0.sh scratchboxuser@i386 $ sh maemo-sdk-install_5.0.sh
results in
Happy hacking!
scratchboxuser@i386 $ /scratchbox/login scratchboxuser@i386 $ sb-conf select FREEMANTEL_ARMEL
[edit] cmake
[sbox-FREMANTLE_ARMEL: ~] > cd [sbox-FREMANTLE_ARMEL: ~] > wget http://www.cmake.org/files/v2.6/cmake-2.6.2.tar.gz [sbox-FREMANTLE_ARMEL: ~/cmake-2.6.2] > tar xvzf cmake-2.6.2.tar.gz [sbox-FREMANTLE_ARMEL: ~/cmake-2.6.2] > cd cmake-2.6.2 [sbox-FREMANTLE_ARMEL: ~/cmake-2.6.2] > ./bootstrap && make -j4 && make install
[edit] subversion
[sbox-FREMANTLE_ARMEL: ~] > apt-get install subversion
[edit] Qt
Download Qt everywhere 4.6 and build it using
./configure --prefix=/usr && make -j2 && make install
[edit] libical
libical is needed for kdepimlibs
cd wget http://downloads.sourceforge.net/project/freeassociation/libical/libical-0.44/libical-0.44.tar.gz?use_mirror=switch tar xvzf libical-0.44.tar.gz cd libical-0.44 ./configure && make -j2 && make install
[edit] gpgme
gpgme is needed for kdepimlibs
curl ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-1.1.8.tar.bz2 > gpgme-1.1.8.tar.bz2 bunzip2 gpgme-1.1.8.tar.bz2 tar xvf gpgme-1.1.8.tar cd gpgme-1.1.8 ./configure && make -j2 && make install
[edit] boost
libboost is needed for kdepimlibs
apt-get install libboost-graph-dev
[edit] giflib
wget http://downloads.sourceforge.net/project/giflib/giflib%204.x/giflib-4.1.6/giflib-4.1.6.tar.bz2?use_mirror=switch
[edit] Xephyr
SUSE 11.2: xorg-x11-server-extra
main.cpp
#include <QApplication> #include <QPushButton> int main(int argc, char ** argv) { QApplication qa(argc,argv); QPushButton* qp=new QPushButton("hello world"); qp->show(); return qa.exec(); }
Build and run it:
export DISPLAY=:4 qmake -project && qmake && make && ./qttest
[edit] Compiling on the N810
- install openssh on the N810
- Find out what maemo version you have. Choose Settings -> Control Panel -> About. If you get "Product maemo Linux based OS2008 Version:5.2008.43-7" this means maemo 4.1. So you have maemo, os2008 and diablo (more info).
- download wget from http://repository.maemo.org/pool/maemo4.1.2/free/w/wget/. Copy it to your computer and scp it to your N810.
- get glibc
wget http://repository.maemo.org/pool/maemo4.1.2/free/g/glibc/libc6-dev_2.5.0-1osso10_armel.deb
- get linux kernel headers
wget http://repository.maemo.org/pool/maemo4.1.2/free/l/linux-kernel-headers/linux-kernel-headers_2.6.16.osso11-1_armel.deb
- get libgcc
wget http://repository.maemo.org/pool/maemo4.1.2/free/g/gcc-3.4/libgcc1_3.4.4cs2005q3.2-5.osso8_armel.deb
- install everything
dpkg -i gcc-3.4_3.4.4cs2005q3.2-5.osso8_armel.deb libc6-dev_2.5.0-1osso10_armel.deb linux-kernel-headers/linux-kernel-headers_2.6.16.osso11-1_armel.deb
- do the usual test
Nokia-N810-43-7:~# cat main.c #include <stdio.h> int main() { printf("hello world"); } Nokia-N810-43-7:~# gcc-3.4 -o greeter main.c Nokia-N810-43-7:~# ./greeter hello worldNokia-N810-43-7:~#
[edit] C++
- Try to compile a C++ program
Nokia-N810-43-7:/media/mmc1# cat main.cpp #include <iostream> int main() { std::cout << "hello C++" << std::endl; } Nokia-N810-43-7:/media/mmc1# gcc-3.4 main.cpp <unknown> tried to exec cc1plus but failed (No such file or directory)
- download g++
wget http://repository.maemo.org/pool/maemo4.1.2/free/g/gcc-3.4/g++-3.4_3.4.4cs2005q3.2-5.osso8_armel.deb
- download lib standard C++
wget http://repository.maemo.org/pool/maemo4.1.2/free/g/gcc-3.4/libstdc++6-dev_3.4.4cs2005q3.2-5.osso8_armel.deb
- install g++
dpkg -i libstdc++6-dev_3.4.4cs2005q3.2-5.osso8_armel.deb g++-3.4_3.4.4cs2005q3.2-5.osso8_armel.deb
- try to compile main.cpp again
gcc-3.4 main.cpp /var/tmp/ccQkm9NS.o: In function `std::__verify_grouping...
- ok, but do it right
gcc-3.4 -lstdc++ main.cpp ./a.out hello C++
[edit] Compiling software with automake
Does not work.
[edit] Compiling Qt software
Nokia-N810-43-7:~# cat /etc/apt/sources.list deb http://repository.maemo.org/extras/ diablo free deb-src http://repository.maemo.org/extras/ diablo free Nokia-N810-43-7:~# apt-get install libqtcore4
apt-get install libqt4-dev
# cat qttest2.cpp #include <QApplication> #include <QPushButton> int main(int argc, char ** argv) { QApplication qa(argc,argv); QPushButton* qp=new QPushButton("hello world"); qp->show(); return qa.exec(); } # g\+\+-3.4 -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. qttest2.cpp -lQtCore -lQtGui # ./a.out
[edit] Contributions
Here are the contributions I am proud of
- This page was last modified on 21 January 2013, at 16:35.
- This page has been accessed 19,309 times.