Editing Compiling on the N810

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 4: Line 4:
# 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]]).
# 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 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>
+
# 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>
-
#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 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 binutils <pre>wget http://repository.maemo.org/pool/maemo4.1.2/free/b/binutils/binutils_2.16.91cs2005q3.2-5.osso1_armel.deb</pre>
+
#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>
 +
# 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 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>
 +
# get libgcc<pre>wget http://repository.maemo.org/pool/maemo4.1.2/free/g/gcc-3To 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.
 +
 
 +
# [[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, 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.
 +
# 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>
 +
#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 binutils<pre>wget http://repository.maemo.org/pool/maemo4.1.2/free/b/binutils/binutils_2.16.91cs2005q3.2-5.osso1_armel.deb</pre>
# 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 glibc<pre>wget http://repository.maemo.org/pool/maemo4.1.2/free/g/glibc/libc6-dev_2.5.0-1osso10_armel.deb</pre>
# 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>
# 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>
# 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>
# 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<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>
# 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>
 +
# do the usual test:
 +
 +
<source lang="c">
 +
/* main.c */
 +
#include <stdio.h>
 +
 +
int main()
 +
{ printf("hello world"); }
 +
</source>
 +
 +
Nokia-N810-43-7:~# gcc-3.4 -o greeter main.c
 +
Nokia-N810-43-7:~# ./greeter
 +
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]]
 +
.4/libgcc1_3.4.4cs2005q3.2-5.osso8_armel.deb</pre>
 +
# 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</pre>
# do the usual test:
# do the usual test:

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)