Latest revision |
Your text |
Line 1: |
Line 1: |
- | To compile software for the [[Nokia N810|N810]], you can [[:Category:Scratchbox|use scratchbox]], the cross-compile-environment for i386 machines. Or you can compile on the device itself.
| + | == 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 ([http://wiki.maemo.org/Codenames more info]). |
- | # 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, OS2008 and Diablo ([[Codenames|more information on codenames]]).
| + | * 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 gcc <pre>wget http://repository.maemo.org/pool/maemo4.1.2/free/g/gcc-3.4/gcc-3.4_3.4.4cs2005q3.2-5.osso8_armel.deb</pre>
| + | wget http://repository.maemo.org/pool/maemo4.1.2/free/g/glibc/libc6-dev_2.5.0-1osso10_armel.deb |
- | #get cpp <pre>wget http://repository.maemo.org/pool/maemo4.1.2/free/g/gcc-3.4/cpp-3.4_3.4.4cs2005q3.2-5.osso8_armel.deb</pre>
| + | * get linux kernel headers |
- | #get binutils <pre>wget http://repository.maemo.org/pool/maemo4.1.2/free/b/binutils/binutils_2.16.91cs2005q3.2-5.osso1_armel.deb</pre>
| + | 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 glibc<pre>wget http://repository.maemo.org/pool/maemo4.1.2/free/g/glibc/libc6-dev_2.5.0-1osso10_armel.deb</pre>
| + | * get libgcc |
- | # get linux kernel headers<pre>wget http://repository.maemo.org/pool/maemo4.1.2/free/l/linux-kernel-headers/linux-kernel-headers_2.6.16.osso11-1_armel.deb</pre>
| + | wget http://repository.maemo.org/pool/maemo4.1.2/free/g/gcc-3.4/libgcc1_3.4.4cs2005q3.2-5.osso8_armel.deb |
- | # get libgcc<pre>wget http://repository.maemo.org/pool/maemo4.1.2/free/g/gcc-3.4/libgcc1_3.4.4cs2005q3.2-5.osso8_armel.deb</pre>
| + | * install everything |
- | # install everything<pre>dpkg -i libgcc1_3.4.4cs2005q3.2-5.osso8_armel.deb linux-kernel-headers_2.6.16.osso11-1_armel.deb libc6-dev_2.5.0-1osso10_armel.deb gcc-3.4_3.4.4cs2005q3.2-5.osso8_armel.deb cpp-3.4_3.4.4cs2005q3.2-5.osso8_armel.deb binutils_2.16.91cs2005q3.2-5.osso1_armel.deb</pre>
| + | 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:
| + | * do the usual test |
- | | + | Nokia-N810-43-7:~# cat main.c |
- | <source lang="c">
| + | #include <stdio.h> |
- | /* main.c */
| + | |
- | #include <stdio.h> | + | int main() |
- | | + | { printf("hello world"); } |
- | int main() | + | |
- | { printf("hello world"); } | + | |
- | </source>
| + | |
- | | + | |
| Nokia-N810-43-7:~# gcc-3.4 -o greeter main.c | | Nokia-N810-43-7:~# gcc-3.4 -o greeter main.c |
| Nokia-N810-43-7:~# ./greeter | | Nokia-N810-43-7:~# ./greeter |
| hello worldNokia-N810-43-7:~# | | hello worldNokia-N810-43-7:~# |
- |
| |
- | == C++ ==
| |
- |
| |
- | <ol>
| |
- | <li>Try to compile a C++ program:
| |
- | <source lang="cpp">
| |
- | // main.cpp
| |
- | #include <iostream>
| |
- | int main()
| |
- | {
| |
- | std::cout << "hello C++" << std::endl;
| |
- | }
| |
- | </source>
| |
- | <pre>
| |
- | Nokia-N810-43-7:/media/mmc1# gcc-3.4 main.cpp
| |
- | <unknown> tried to exec cc1plus but failed (No such file or directory)
| |
- | </pre>
| |
- | </li>
| |
- | <li>download g++:<pre>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</pre>
| |
- | </li>
| |
- | <li>
| |
- | download lib standard C++:<pre>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</pre>
| |
- | </li>
| |
- | <li>
| |
- | install g++:<pre>dpkg -i libstdc++6-dev_3.4.4cs2005q3.2-5.osso8_armel.deb g++-3.4_3.4.4cs2005q3.2-5.osso8_armel.deb</pre>
| |
- | </li>
| |
- | <li>
| |
- | try to compile <code>main.cpp</code> again:
| |
- | <pre>
| |
- | gcc-3.4 main.cpp
| |
- | /var/tmp/ccQkm9NS.o: In function `std::__verify_grouping...
| |
- | </pre>
| |
- | </li>
| |
- | <li>
| |
- | ok, but do it right:
| |
- | <pre>
| |
- | gcc-3.4 -lstdc++ main.cpp
| |
- | ./a.out
| |
- | hello C++
| |
- | </pre>
| |
- | </li>
| |
- | </ol>
| |
- |
| |
- | [[Category:Development]]
| |
- | [[Category:HowTo]]
| |
- | [[Category:Diablo]]
| |