diff options
author | dakkar <dakkar@luxion> | 2008-03-02 15:59:48 +0000 |
---|---|---|
committer | dakkar <dakkar@luxion> | 2008-03-02 15:59:48 +0000 |
commit | bbcf829b030be8f171c415b4357390d1f2345e28 (patch) | |
tree | 248d649e0894a82880cc18c58275c17891bafb2c /qtopia-dev | |
parent | git-svn-id: svn://luxion/repos/thenautilus@332 fcb26f47-9200-0410-b104-b98ab5... (diff) | |
download | thenautilus-bbcf829b030be8f171c415b4357390d1f2345e28.tar.gz thenautilus-bbcf829b030be8f171c415b4357390d1f2345e28.tar.bz2 thenautilus-bbcf829b030be8f171c415b4357390d1f2345e28.zip |
spostamenti vari
git-svn-id: svn://luxion/repos/thenautilus@333 fcb26f47-9200-0410-b104-b98ab5b095f3
Diffstat (limited to 'qtopia-dev')
-rw-r--r-- | qtopia-dev/document.en.rest.txt | 129 | ||||
-rw-r--r-- | qtopia-dev/document.it.rest.txt | 130 |
2 files changed, 0 insertions, 259 deletions
diff --git a/qtopia-dev/document.en.rest.txt b/qtopia-dev/document.en.rest.txt deleted file mode 100644 index 55d4231..0000000 --- a/qtopia-dev/document.en.rest.txt +++ /dev/null @@ -1,129 +0,0 @@ -Installing QTopia today -======================= - -If you have `GCC 2.95.x`_ installed -=================================== - -You can just follow the instruction from `this how-to`_, and all will be good. - -If you have a newer version -=========================== - -If for example you actually do C++ development, you can't use a GCC before 3.1, as it -would lack some fundamental components (stingstream, just to say one) and have several -quite big bugs. - -Here lies the problem: the packages suggested by `the afore-mentioned how-to`_ are -compiled using GCC 2.95.2, and since the ABI has changed radically, programs compiled -with GCC 3.x will not link against those qt-embedded libraries. - -So we just install GCC 2.95.2, right? **Wrong!** GCC 2.95.2 has a bug in the libio -library (basis for C++ streams) which makes it impossible to compile it against glibc -2.2 (and since you have an up-to-date GCC, I'm sure you'll have an up-to-date glibc, -too) (the type for file offsets has changed: from int to a struct containing two int, -to allow for 64 bit file positions). We need to use GCC 2.95.3, which contains a fix -for this problem (as far as I could see from the diff, it shouldn't support files -larger than 4GB, but since we are going to use to test programs intended for a Zaurus, -it's not such a limitation) (the ABI of .3 is the same as the .2 one) - -Now we don't want 2.95 to overwrite our 3: we want to install it in a separate -directory. This is accomplished passing the --prefix option to the configure script. - -Step-by-step instructions -------------------------- - -Ready-made packages -``````````````````` - -Download: - -* `gcc 2.95.2 cross compiler x86-arm`_ - -* `binutils 2.11.2 cross x86-arm`_ - -* `glibc 2.2.2 arm`_ - -* `header Linux 2.4.6 arm`_ - -* `QTopia 1.5.0 free edition, both x86 and arm`_ - -Install all of them (using rpm, as root). Two directories will be created: -/opt/Embedix with the arm toolchain, and /opt/Qtopia with libraries and programs to -compile both for x86 and arm. - -GCC -``` - -Download gcc-core-2.95.3.tar.gz and gcc-g++-2.95.3.tar.gz from a `GNU mirror`_. - -To compile (I assume you put the GCC tarballs in /tmp): - -* cd /tmp - -* tar zxvf gcc-core-2.95.3.tar.gz;tar zxvf gcc-g++-2.95.3.tar.gz - -* mkdir gcc-obj;cd gcc-obj - -* ../gcc-2.95.3/configure --prefix=/opt/Embedix/native --enable-shared - -* make bootstrap - -* make install (this should be done as root, unless you gave your normal user write - permissions on /opt/Embedix) - -It might be a bit strange to put a native compiler under /opt/Embedix, but it looked -convenient, to make it clear in which context it is used. - -Some script -``````````` - -A couple of scripts are very usefule to set up enviornment variables in the two cases: -native compilation (during development) and cross-compilation (at the end, to deploy -the program for the Zaurus). - -Get them from Sharp: `dev-x86-qpe`_ and `dev-arm-qpe`_. - -In dev-x86-qpe change the lines setting PATH and LD_LIBRARY_PATH with the following: - -:: - - PATH=$QTDIR/bin:$QPEDIR/bin:/opt/Embedix/tools/bin:/opt/Embedix/native/bin:${ORG_PATH} - LD_LIBRARY_PATH=$QTDIR/lib:/opt/Embedix/native/lib:${ORG_LD_LIBRARY_PATH} -.. - - - -In this way you'll get the GCC 2.95.3 we just compiled. - -.. _`dev-x86-qpe`: - http://docs.zaurus.com/downloads/dev-x86-qpe.sh - -.. _`binutils 2.11.2 cross x86-arm`: - http://docs.zaurus.com/downloads/binutils-cross-arm-2.11.2-0.i386.rpm - -.. _`gnu mirror`: - http://www.gnu.org/server/list-mirrors.html - -.. _`qtopia 1.5.0 free edition, both x86 and arm`: - http://docs.zaurus.com/downloads/qtopia-free-1.5.0-1.i386.rpm - -.. _`glibc 2.2.2 arm`: - http://docs.zaurus.com/downloads/glibc-arm-2.2.2-0.i386.rpm - -.. _`header linux 2.4.6 arm`: - http://docs.zaurus.com/downloads/linux-headers-arm-sa1100-2.4.6-3.i386.rpm - -.. _`the afore-mentioned how-to`: - http://docs.zaurus.com/linux_compiler_setup_howto.shtml - -.. _`this how-to`: - http://docs.zaurus.com/linux_compiler_setup_howto.shtml - -.. _`dev-arm-qpe`: - http://docs.zaurus.com/downloads/dev-arm-qpe.sh - -.. _`gcc 2.95.x`: - http://gcc.gnu.org/gcc-2.95/ - -.. _`gcc 2.95.2 cross compiler x86-arm`: - http://docs.zaurus.com/downloads/gcc-cross-sa1100-2.95.2-0.i386.rpm diff --git a/qtopia-dev/document.it.rest.txt b/qtopia-dev/document.it.rest.txt deleted file mode 100644 index 9844ba8..0000000 --- a/qtopia-dev/document.it.rest.txt +++ /dev/null @@ -1,130 +0,0 @@ -Installare QTopia oggi -====================== - -Se avete `GCC 2.95.x`_ installato -================================= - -Potete seguire le istruzioni di `questo how-to`_, e tutto andrà bene. - -Se avete una versione successiva -================================ - -Ad esempio se fate davvero sviluppo in C++, non potete usare una versione del GCC -precedente la 3.1, visto che mancano componenti findamentali (stingstream, tanto per -dire) e ci sono bug piuttosto grossi. - -Qui arriva il problema: i pacchetti indicati dallo `how-to di cui sopra`_ sono -compilati col GCC 2.95.2, e siccome la ABI è cambiata radicalmente, i programmi -compilati con GCC 3.x non passeranno la fase i linking con le librerie qt-embedded. - -A questo punto bisogna installare il GCC 2.95.2, vero? **Sbagliato!** Il GCC 2.95.2 ha -un bug nella libreria libio (base per gli stream C++) per cui non compila con la glibc -2.2 (e visto che avete il GCC aggiornato, avete di sicuro anche la glibc aggiornata) -(è cambiato il tipo per gli offset nei file: da int a una struct con due int, per -gestire le posizioni a 64 bit). Bisogna usare il GCC 2.95.3, che ha risolto questo -problema (a quanto ho capito dalla diff, non supporta i file oltre i 4GB, ma visto che -vogliamo compilare programmi che poi andranno sullo Zaurus, non è una gran -limitazione) (la ABI del .3 è la stessa del .2). - -A questo punto vogliamo però che il 2.95 non sovrascriva il nostro 3: vogliamo -installarlo in una directory a parte. Questo si ottiene specificando l'opzione ---prefix allo script configure. - -Istruzioni passo-passo ----------------------- - -I pacchetti già fatti -````````````````````` - -Scaricate: - -* `gcc 2.95.2 cross compiler x86-arm`_ - -* `binutils 2.11.2 cross x86-arm`_ - -* `glibc 2.2.2 arm`_ - -* `header Linux 2.4.6 arm`_ - -* `QTopia 1.5.0 free edition, sia x86 che arm`_ - -Installateli tutti (con rpm, a nome di root). Si creeranno le directory /opt/Embedix -con la toolchain per arm, e /opt/Qtopia con le librerie e i programmi per compilare -sia x86 che arm. - -Il GCC -`````` - -Scaricate gcc-core-2.95.3.tar.gz e gcc-g++-2.95.3.tar.gz da un `mirror GNU`_. - -Per compilare (suppongo che abbiate messo i pacchetti del GCC nella /tmp): - -* cd /tmp - -* tar zxvf gcc-core-2.95.3.tar.gz;tar zxvf gcc-g++-2.95.3.tar.gz - -* mkdir gcc-obj;cd gcc-obj - -* ../gcc-2.95.3/configure --prefix=/opt/Embedix/native --enable-shared - -* make bootstrap - -* make install (questo dovreste farlo a nome di root, oppure aver dati permessi in - scrittura al vostro utente normale su /opt/Embedix) - -È un po' strano mettere il compilatore nativo sotto /opt/Embedix, ma mi sembra comodo -per chiarire in quale contesto lo uso. - -Gli script -`````````` - -Fanno comodo un paio di script per impostare variabili d'ambiente nei due casi: -compilazione nativa (durante lo sviluppo) e cross-compile (alla fine, per trasferire -il programma sullo Zaurus) - -Prendete quelli forniti dalla Sharp: `dev-x86-qpe`_ e `dev-arm-qpe`_. - -In dev-x86-qpe cambiate le righe che impostano PATH e LD_LIBRARY_PATH con queste: - -:: - - PATH=$QTDIR/bin:$QPEDIR/bin:/opt/Embedix/tools/bin:/opt/Embedix/native/bin:${ORG_PATH} - LD_LIBRARY_PATH=$QTDIR/lib:/opt/Embedix/native/lib:${ORG_LD_LIBRARY_PATH} -.. - - - -In questo modo verrà usato il GCC 2.95.3 che abbiamo appena compilato. - -.. _`dev-x86-qpe`: - http://docs.zaurus.com/downloads/dev-x86-qpe.sh - -.. _`mirror gnu`: - http://www.gnu.org/server/list-mirrors.html - -.. _`qtopia 1.5.0 free edition, sia x86 che arm`: - http://docs.zaurus.com/downloads/qtopia-free-1.5.0-1.i386.rpm - -.. _`binutils 2.11.2 cross x86-arm`: - http://docs.zaurus.com/downloads/binutils-cross-arm-2.11.2-0.i386.rpm - -.. _`how-to di cui sopra`: - http://docs.zaurus.com/linux_compiler_setup_howto.shtml - -.. _`questo how-to`: - http://docs.zaurus.com/linux_compiler_setup_howto.shtml - -.. _`glibc 2.2.2 arm`: - http://docs.zaurus.com/downloads/glibc-arm-2.2.2-0.i386.rpm - -.. _`header linux 2.4.6 arm`: - http://docs.zaurus.com/downloads/linux-headers-arm-sa1100-2.4.6-3.i386.rpm - -.. _`dev-arm-qpe`: - http://docs.zaurus.com/downloads/dev-arm-qpe.sh - -.. _`gcc 2.95.x`: - http://gcc.gnu.org/gcc-2.95/ - -.. _`gcc 2.95.2 cross compiler x86-arm`: - http://docs.zaurus.com/downloads/gcc-cross-sa1100-2.95.2-0.i386.rpm |