Installer GCC ARM cross-compiler

kh@7 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33772 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!!!!!!!
A voir également:

8 réponses

mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
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
kh@7 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
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
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
On dirait que tu as oublié d'installer au préalable une libc (glibc), normalement fournit avec le paquet gcc.

Bonne chance
0
kh@7 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
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
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
Peux tu me dire si tu as un gcc d'installé ?
which gcc
0
kh@7 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
si g bien un gcc d'instalé, voire meme 2 : gcc de ubuntu et arm-linux-gcc
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
Attends ta distribution c'est quoi une ubuntu, ou autre chose ? Que donne la commande
env | grep LD_LIBRARY_PATH
0
kh@7 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
il é la sans doute le problem; elle m'affiche rien.
0
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
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
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
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
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
Crée un compte CCM et ouvre un nouveau fil de discussion s'il te plaît.
0