Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| dev:outils:crosstool [2012/12/31 13:55] – root | dev:outils:crosstool [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 91: | Ligne 91: | ||
| ==== Création du fichier my-arm.dat ==== | ==== Création du fichier my-arm.dat ==== | ||
| - | Le script générant notre chaine de compilation s' | + | |
| + | Le script générant notre chaine de compilation s' | ||
| <code bash> | <code bash> | ||
| Ligne 105: | Ligne 106: | ||
| TARGET_CFLAGS=" | TARGET_CFLAGS=" | ||
| </ | </ | ||
| + | |||
| + | ==== Lancer la compilation ==== | ||
| + | |||
| + | Lancer la compilation de notre chaine en executant le script **my-demo-arm.sh**. | ||
| + | |||
| + | <code bash> | ||
| + | yoann@hermes:/ | ||
| + | </ | ||
| + | |||
| + | === 1iere tentative === | ||
| + | |||
| + | La premiere tentative est abordée, le message suivant est affiché: | ||
| + | |||
| + | < | ||
| + | No such file `gdb-6.5.tar.bz2' | ||
| + | |||
| + | + test -f / | ||
| + | + abort file gdb-6.5.tar.bz2 not found | ||
| + | + echo file gdb-6.5.tar.bz2 not found | ||
| + | file gdb-6.5.tar.bz2 not found | ||
| + | + exec false | ||
| + | </ | ||
| + | |||
| + | Le fichier gdb-6.5.tar; | ||
| + | |||
| + | <code bash> | ||
| + | yoann@hermes:/ | ||
| + | ... | ||
| + | Current remote directory is / | ||
| + | ncftp / | ||
| + | gdb-6.5a.tar.bz2 | ||
| + | ncftp / | ||
| + | </ | ||
| + | |||
| + | Une archive gdb-6.5a.tar.bz2 existe, on modifie le fichier pour lui donner cette version de GDB. | ||
| + | |||
| + | === 2< | ||
| + | A l' | ||
| + | |||
| + | < | ||
| + | checking for arm-unknown-linux-gnu-gcc... gcc | ||
| + | checking version of gcc... 4.4.3, bad | ||
| + | checking for gnumake... no | ||
| + | checking for gmake... no | ||
| + | checking for make... make | ||
| + | checking version of make... 3.81, ok | ||
| + | configure: error: | ||
| + | *** These critical programs are missing or too old: gcc | ||
| + | *** Check the INSTALL file for required versions. | ||
| + | yoann@hermes:/ | ||
| + | </ | ||
| + | La vérification de la version de gcc échoue. Un patch permet de modifier ce comportement. Il est fournit dans les ressources additionnelles de l' | ||
| + | |||
| + | <code bash> | ||
| + | yoann@hermes:/ | ||
| + | yoann@hermes:/ | ||
| + | yoann@hermes:/ | ||
| + | yoann@hermes:/ | ||
| + | </ | ||
| + | |||
| + | Le contenu du patch est donné ci-dessous | ||
| + | <file glibc-2.3.3-allow-gcc-4.4-configure.patch> | ||
| + | *** glibc-2.3.2/ | ||
| + | --- glibc-2.3.2/ | ||
| + | *************** | ||
| + | *** 2272,2278 **** | ||
| + | ac_prog_version=`$CC -v 2>&1 | sed -n ' | ||
| + | case $ac_prog_version in | ||
| + | '' | ||
| + | ! | ||
| + | | ||
| + | *) ac_prog_version=" | ||
| + | | ||
| + | --- 2272,2278 ---- | ||
| + | ac_prog_version=`$CC -v 2>&1 | sed -n ' | ||
| + | case $ac_prog_version in | ||
| + | '' | ||
| + | ! | ||
| + | | ||
| + | *) ac_prog_version=" | ||
| + | |||
| + | </ | ||
| + | |||
| + | Remarque: Pour que les patch soient appliqués automatiquement par crosstool, ils doivent se trouver sous le répertoire ./patchs de l' | ||
| ===== Sources ===== | ===== Sources ===== | ||