Outils pour utilisateurs

Outils du site


dev:outils:crosstool

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
dev:outils:crosstool [2012/12/31 14:24] rootdev:outils:crosstool [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1
Ligne 116: Ligne 116:
  
 === 1iere tentative === === 1iere tentative ===
 +
 +La premiere tentative est abordée, le message suivant est affiché:
 +
 <file> <file>
 No such file `gdb-6.5.tar.bz2'. No such file `gdb-6.5.tar.bz2'.
Ligne 124: Ligne 127:
 file gdb-6.5.tar.bz2 not found file gdb-6.5.tar.bz2 not found
 + exec false + exec false
 +</file>
  
 +Le fichier gdb-6.5.tar;bz2 est introuvable. En remontant les logs, on peut voir que le script le cherche en priorité dans le dossier ''**./old-releases/**'' du ftp de redhat. J'explore le ftp à l'aide de ncftp.
 +
 +<code bash>
 +yoann@hermes:/opt/crosstool-0.43$ ncftp ftp://sources.redhat.com/pub/gdb/old-releases/
 +...                                          
 +Current remote directory is /pub/gdb/old-releases.
 +ncftp /pub/gdb/old-releases > ls gdb-6.5*
 +gdb-6.5a.tar.bz2    gdb-6.5a.tar.gz
 +ncftp /pub/gdb/old-releases >
 +</code>
 +
 +Une archive gdb-6.5a.tar.bz2 existe, on modifie le fichier pour lui donner cette version de GDB.
 +
 +=== 2<sup>ième</sup> tentative ===
 +A l'etape de compilation de la glibc
 +
 +<file>
 +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:/opt/crosstool-0.43$
 </file> </file>
 +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'ouvrage Linux embarqué disponible à l'adresse http://www.editions-eyrolles.com/download/9782212124521/ZeBook3_ex.tgz. Télécharger l'archive, extraire le patch et copier le fichier patch dans l'arborescence de crosstool pour qu'il puisse t'être appliqué.
 +
 +<code bash>
 +yoann@hermes:/tmp$ wget http://www.editions-eyrolles.com/download/9782212124521/ZeBook3_ex.tgz
 +yoann@hermes:/tmp$ tar xf ZeBook3_ex.tgz
 +yoann@hermes:/tmp$ cd ZeBook3/exemples/chap5/configs/
 +yoann@hermes:/tmp/ZeBook3/exemples/chap5/configs$ cp patches/glibc-2.3.2/glibc-2.3.3-allow-gcc-4.4-configure.patch /opt/crosstool-0.43/patches/glibc-2.3.2/
 +</code>
 +
 +Le contenu du patch est donné ci-dessous
 +<file glibc-2.3.3-allow-gcc-4.4-configure.patch>
 +*** glibc-2.3.2/configure.old   2009-12-24 18:09:29.050226966 +0100
 +--- glibc-2.3.2/configure       2009-12-24 18:10:01.458225422 +0100
 +***************
 +*** 2272,2278 ****
 +    ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'`
 +    case $ac_prog_version in
 +      '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
 +!     3.[2-9]*|4.[01]*)
 +         ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
 +      *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 +  
 +--- 2272,2278 ----
 +    ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'`
 +    case $ac_prog_version in
 +      '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
 +!     3.[2-9]*|4.[01234]*)
 +         ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
 +      *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 +
 +</file>
 +
 +Remarque: Pour que les patch soient appliqués automatiquement par crosstool, ils doivent se trouver sous le répertoire ./patchs de l'outil et leur nom doit contenir la chaine patch ou le suffixe .diff
  
 ===== Sources ===== ===== Sources =====
dev/outils/crosstool.1356963863.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)