User:Tstaerk: Difference between revisions

From Maemo Wiki
Jump to navigationJump to search
imported>tstaerk
imported>sixwheeledbeast
Removed broken wanted page
 
(35 intermediate revisions by one other user 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 ([http://en.wikipedia.org/wiki/Maemo#Version_history more info] [http://wiki.maemo.org/Codenames and more]).
* 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
* do the usual test
  Nokia-N810-43-7:~# cat main.c
  Nokia-N810-43-7:~# cat main.c
Line 25: Line 107:
  hello worldNokia-N810-43-7:~#
  hello worldNokia-N810-43-7:~#


= C++ =
== C++ ==
* Try to compile a C++ program
* Try to compile a C++ program
  Nokia-N810-43-7:/media/mmc1# cat main.cpp
  Nokia-N810-43-7:/media/mmc1# cat main.cpp
Line 53: Line 135:
  ./a.out
  ./a.out
  hello C++
  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

Incubator

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

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:~#

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

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

Contributions

Here are the contributions I am proud of