Installer GCC ARM cross-compiler

kh@7 Messages postés 17 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Je doit mettre en place une plate forme de compilation pour une carte à base de ARM9.
Le constructeur de la carte me fournit les sources: chaîne de compilation croisée ARM pré compilé & distribution uclinux/ARM.
A priori g bien installé la chaîne de compil croisée (g rajouté les dossiers bin a la variable PATH : le fichier arm-linux-gcc est reconnu)
Le probleme est ke je n'arrive pas a installer ma distribution uclinux/ARM qui est basé sur un Makefile.
quand je fé make config: pas de problem
quand je fé make dep :g des problemes: ça m'affiche:

login@login-arm:~/Desktop/opengear$ make dep
make ARCH=arm CROSS_COMPILE=arm-linux- -C linux-2.4.x dep
make[1]: entrant dans le répertoire « /home/login/Desktop/opengear/linux-2.4.x »
unset GCC_EXEC_PREFIX; gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/mkdep scripts/mkdep.c
scripts/mkdep.c:33:19: error: ctype.h: Aucun fichier ou répertoire de ce type
scripts/mkdep.c:34:19: error: fcntl.h: Aucun fichier ou répertoire de ce type
In file included from /usr/lib/gcc/i486-linux-gnu/4.1.2/include/syslimits.h:7,
from /usr/lib/gcc/i486-linux-gnu/4.1.2/include/limits.h:11,
from scripts/mkdep.c:35:
/usr/lib/gcc/i486-linux-gnu/4.1.2/include/limits.h:122:61: error: limits.h: Aucun fichier ou répertoire de ce type
scripts/mkdep.c:36:19: error: stdio.h: Aucun fichier ou répertoire de ce type
scripts/mkdep.c:37:20: error: stdlib.h: Aucun fichier ou répertoire de ce type
scripts/mkdep.c:38:20: error: string.h: Aucun fichier ou répertoire de ce type
scripts/mkdep.c:39:20: error: unistd.h: Aucun fichier ou répertoire de ce type
scripts/mkdep.c:41:23: error: sys/fcntl.h: Aucun fichier ou répertoire de ce type
scripts/mkdep.c:42:22: error: sys/mman.h: Aucun fichier ou répertoire de ce type
scripts/mkdep.c:43:22: error: sys/stat.h: Aucun fichier ou répertoire de ce type
scripts/mkdep.c:44:23: error: sys/types.h: Aucun fichier ou répertoire de ce type
scripts/mkdep.c:69: error: ‘NULL’ undeclared here (not in a function)
scripts/mkdep.c: In function ‘do_depname’:
scripts/mkdep.c:78: warning: implicit declaration of function ‘printf’
scripts/mkdep.c:78: warning: incompatible implicit declaration of built-in function ‘printf’
scripts/mkdep.c: In function ‘grow_config’:
scripts/mkdep.c:93: warning: implicit declaration of function ‘realloc’
scripts/mkdep.c:93: warning: assignment makes pointer from integer without a cast
scripts/mkdep.c:95: warning: implicit declaration of function ‘perror’
scripts/mkdep.c:95: warning: implicit declaration of function ‘exit’
scripts/mkdep.c:95: warning: incompatible implicit declaration of built-in function ‘exit’
scripts/mkdep.c: In function ‘is_defined_config’:
scripts/mkdep.c:111: warning: implicit declaration of function ‘memcmp’
scripts/mkdep.c: In function ‘define_config’:
scripts/mkdep.c:126: warning: implicit declaration of function ‘memcpy’
scripts/mkdep.c:126: warning: incompatible implicit declaration of built-in function ‘memcpy’
scripts/mkdep.c: In function ‘grow_precious’:
scripts/mkdep.c:163: warning: assignment makes pointer from integer without a cast
scripts/mkdep.c:165: warning: incompatible implicit declaration of built-in function ‘exit’
scripts/mkdep.c: In function ‘define_precious’:
scripts/mkdep.c:176: warning: implicit declaration of function ‘strlen’
scripts/mkdep.c:176: warning: incompatible implicit declaration of built-in function ‘strlen’
scripts/mkdep.c:179: warning: incompatible implicit declaration of built-in function ‘memcpy’
scripts/mkdep.c: In function ‘handle_include’:
scripts/mkdep.c:202: warning: incompatible implicit declaration of built-in function ‘memcpy’
scripts/mkdep.c:204: warning: implicit declaration of function ‘access’
scripts/mkdep.c:204: error: ‘F_OK’ undeclared (first use in this function)
scripts/mkdep.c:204: error: (Each undeclared identifier is reported only once
scripts/mkdep.c:204: error: for each function it appears in.)
scripts/mkdep.c:206: warning: incompatible implicit declaration of built-in function ‘printf’
scripts/mkdep.c: In function ‘add_path’:
scripts/mkdep.c:221: error: ‘PATH_MAX’ undeclared (first use in this function)
scripts/mkdep.c:224: warning: implicit declaration of function ‘strcmp’
scripts/mkdep.c:225: warning: implicit declaration of function ‘realpath’
scripts/mkdep.c:225: warning: assignment makes pointer from integer without a cast
scripts/mkdep.c:227: warning: implicit declaration of function ‘fprintf’
scripts/mkdep.c:227: warning: incompatible implicit declaration of built-in function ‘fprintf’
scripts/mkdep.c:227: error: ‘stderr’ undeclared (first use in this function)
scripts/mkdep.c:228: warning: incompatible implicit declaration of built-in function ‘exit’
scripts/mkdep.c:235: warning: assignment makes pointer from integer without a cast
scripts/mkdep.c:237: warning: incompatible implicit declaration of built-in function ‘fprintf’
scripts/mkdep.c:238: warning: incompatible implicit declaration of built-in function ‘exit’
scripts/mkdep.c:242: warning: incompatible implicit declaration of built-in function ‘strlen’
scripts/mkdep.c:243: warning: implicit declaration of function ‘malloc’
scripts/mkdep.c:243: warning: incompatible implicit declaration of built-in function ‘malloc’
scripts/mkdep.c:245: warning: incompatible implicit declaration of built-in function ‘fprintf’
scripts/mkdep.c:246: warning: incompatible implicit declaration of built-in function ‘exit’
scripts/mkdep.c:248: warning: implicit declaration of function ‘strcpy’
scripts/mkdep.c:248: warning: incompatible implicit declaration of built-in function ‘strcpy’
scripts/mkdep.c:221: warning: unused variable ‘resolved_path’
scripts/mkdep.c: In function ‘use_config’:
scripts/mkdep.c:266: warning: incompatible implicit declaration of built-in function ‘memcpy’
scripts/mkdep.c:271: warning: implicit declaration of function ‘isupper’
scripts/mkdep.c:271: warning: implicit declaration of function ‘tolower’
scripts/mkdep.c:283: warning: incompatible implicit declaration of built-in function ‘printf’
scripts/mkdep.c: In function ‘state_machine’:
scripts/mkdep.c:493: warning: implicit declaration of function ‘isalnum’
scripts/mkdep.c: In function ‘do_depend’:
scripts/mkdep.c:527: warning: implicit declaration of function ‘getpagesize’
scripts/mkdep.c:530: error: storage size of ‘st’ isn’t known
scripts/mkdep.c:533: warning: implicit declaration of function ‘open’
scripts/mkdep.c:533: error: ‘O_RDONLY’ undeclared (first use in this function)
scripts/mkdep.c:539: warning: implicit declaration of function ‘fstat’
scripts/mkdep.c:541: warning: incompatible implicit declaration of built-in function ‘fprintf’
scripts/mkdep.c:541: error: ‘stderr’ undeclared (first use in this function)
scripts/mkdep.c:542: warning: implicit declaration of function ‘close’
scripts/mkdep.c:550: warning: implicit declaration of function ‘mmap’
scripts/mkdep.c:550: error: ‘PROT_READ’ undeclared (first use in this function)
scripts/mkdep.c:550: error: ‘MAP_PRIVATE’ undeclared (first use in this function)
scripts/mkdep.c:550: warning: assignment makes pointer from integer without a cast
scripts/mkdep.c:558: warning: incompatible implicit declaration of built-in function ‘fprintf’
scripts/mkdep.c:559: warning: incompatible implicit declaration of built-in function ‘exit’
scripts/mkdep.c:566: warning: implicit declaration of function ‘puts’
scripts/mkdep.c:571: warning: implicit declaration of function ‘munmap’
scripts/mkdep.c:530: warning: unused variable ‘st’
scripts/mkdep.c: In function ‘main’:
scripts/mkdep.c:585: warning: implicit declaration of function ‘getenv’
scripts/mkdep.c:585: warning: assignment makes pointer from integer without a cast
scripts/mkdep.c:587: warning: implicit declaration of function ‘fputs’
scripts/mkdep.c:588: error: ‘stderr’ undeclared (first use in this function)
scripts/mkdep.c:595: warning: implicit declaration of function ‘strncmp’
scripts/mkdep.c:616: warning: incompatible implicit declaration of built-in function ‘strlen’
scripts/mkdep.c:617: warning: incompatible implicit declaration of built-in function ‘memcpy’
scripts/mkdep.c:629: warning: incompatible implicit declaration of built-in function ‘printf’
make[1]: *** [scripts/mkdep] Erreur 1
make[1]: quittant le répertoire « /home/login/Desktop/opengear/linux-2.4.x »
make: *** [dep] Erreur 2

Que faire??
Merci Bokou!!!!!!!
Configuration: Linux
Firefox 2.0.0.2

8 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    pour la visualiser :
    env | grep LD_LIBRARY_PATH

    Exemple
    (mando@cobo) (~) $ env | grep LD_LIBRARY_PATH
    LD_LIBRARY_PATH=/usr/lib

    Si la commande ne retourne rien c'est qu'elle n'est pas définie. Mais normalement elle devrait être configurée correctement si tu as installé les paquets pour développer en C.
    Sous debian c'est ceux là :
    libc6
    libc6-dev
    libc6-i686
    gcc
    gcc-4.1
    gcc-4.1-base
    libgcc1

    Bonne chance
    1
    1. kh@7 Messages postés 17 Statut Membre
       
      je te remercie pour l'attention que tu me porte.
      En fait c bien ça elle ne retourne rien du tout.
      Comme je lé expliké auparant j'essaye de mettre en place un compilateur croisé pour arm.
      Le constructeur de la carte m'a donné toutes les sources et concernant la chaine de compilation croisé elle été deja précompilé (le dossié fourni contient les dossiers local /usr/ bin/ arm-linux
      G mis à jour la variable PATH; par contre je n'ais pas touché à LD_LBRARY_PATH.

      voila ou j'en suis.
      0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    On dirait que tu as oublié d'installer au préalable une libc (glibc), normalement fournit avec le paquet gcc.

    Bonne chance
    0
  3. kh@7 Messages postés 17 Statut Membre
     
    En fait je viens de constater que je n'ai pas la variable ld_library_path; ou du moins je n'arrive pas à la visualiser.
    Comment je dois faire pour la créer sous ubuntu.

    Merci!
    0
  4. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Peux tu me dire si tu as un gcc d'installé ?
    which gcc
    0
    1. kh@7 Messages postés 17 Statut Membre
       
      si g bien un gcc d'instalé, voire meme 2 : gcc de ubuntu et arm-linux-gcc
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Attends ta distribution c'est quoi une ubuntu, ou autre chose ? Que donne la commande
    env | grep LD_LIBRARY_PATH
    0
    1. kh@7 Messages postés 17 Statut Membre
       
      il é la sans doute le problem; elle m'affiche rien.
      0
  7. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    En fait tu dois faire la différence entre deux problèmes de compilation
    1) trouver les headers, ie ceux-ci existent soit dans un répertoire standard d'include (gener /usr/include), soit celui-ci est précisé à la compilation (options -I et -isystem). Etant donné qu'il s'agit de la libc tu devrais par exemple avoir stdio.h dans /usr/include :
    (mando@cobo) (~) $ ls /usr/include/stdio.h
    /usr/include/stdio.h

    Par exemple moi j'utilise des headers qui ne sont pas dans /usr/include donc je les précise à la compilation :
    g++ -O2 -fPIC -W  -I/usr/include/boost -o plop plop.cpp


    2) trouver le binaire de la librairie (un fichier .a ou .so) . Encore une fois vu que tu utilises la libc normalement tu n'as pas besoin de préciser quelque chose à la compilation, elle devrait être dans /lib. Mais de toute façon pour l'instant toi tu es dans le problème (1). C'est uniquement pour ce 2e problème que la valeur de la variable LD_LIBRARY_PATH peut avoir un impact et tu n'en es pas encore là.

    A ta place je vérifierais que tu as bien les headers stdio.h & co dans /usr/include. Si ce n'est pas le cas il faut vérifier que le paquet gcc-dev est installé. Et très franchement je pense que c'est ton problème
    0
  8. Micky
     
    Salut,

    Ce que je te propose n'est pas une solution, mais est une alternative très intéressante;

    Si tu veux faire du cross-compiling, intéresse-toi à Scratchbox. C'est un très bon outil qui peut t'émuler n'importe quel système (dont le ARM) à partir d'une toolchain et d'un émulateur (Qemu).
    Bref, c'est vraiment pas mal du tout et ça simule plutôt bien ta plateforme.

    Amuse toi bien
    Micky
    0
  9. atef
     
    Bonsoir ,
    vu que j'ai pas pu creé un nouveau post (question) je pose ma question ici,
    Mon probléme c'est cette erreur : "Could not retrieve 'sstrip' "
    en faite, je suis en train de faire une compilation croisé et aprés tous faire j'ai lancé la dernier commande "ct-ng build.4" pour la compilation de toolchain et aprés quelque minutes cette erreur là est apparu .
    j'éspere que quelqun peut m'aider et merci d'avance
    0
    1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
       
      Crée un compte CCM et ouvre un nouveau fil de discussion s'il te plaît.
      0