#1 Le 04/07/2012, à 13:11
- MéPHiST
[resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Bonjour,
J'essaye actuellement de faire une compilation de GCC dans le but de générer des applicatifs pour ARM (rpi, entre autres).
Il me semble qu'il existe d'autre compilateurs mais je souhaite vivement utiliser GCC.
J'ai donc crée un dossier 'build' dans lequel j'ai mis mes sources gcc, ainsi que créé des dossier pour chaque (?) librairies des prérequis gcc.
J'ai généré mon 'Makefile' avec la commande suivante:
time ./configure --enable-languages=c --disable-shared --disable-threads --disable-checking --disable-multilib --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --target=arm-pc-linux
puis lancé ma compilation à l'aide de:
time make all-gcc
Quelques 7 minutes plus tard j'obtiens l'erreur suivante:
gcc/. -I../.././gcc/../include -I../.././gcc/../libcpp/include -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/gmp -I/home/nailyk/Ressources/build/gmp -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/mpfr -I/home/nailyk/Ressources/build/mpfr -I/home/nailyk/Ressources/build/mpc/src -I../.././gcc/../libdecnumber -I../.././gcc/../libdecnumber/dpd -I../libdecnumber -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/ppl/src -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/ppl/interfaces/C -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/cloog/include -I/home/nailyk/Ressources/build/cloog/include -DCLOOG_PPL_BACKEND ../.././gcc/graphite.c -o graphite.o
In file included from ../.././gcc/tree-flow.h:877:0,
from ../.././gcc/graphite.c:44:
../.././gcc/tree-flow-inline.h: In function ‘num_ssa_operands’:
../.././gcc/tree-flow-inline.h:872:8: warning: variable ‘t’ set but not used [-Wunused-but-set-variable]
../.././gcc/graphite.c: At top level:
../.././gcc/graphite.c:61:25: fatal error: cloog/cloog.h: Aucun fichier ou dossier de ce type
compilation terminated.
make[1]: *** [graphite.o] Erreur 1
make[1]: quittant le répertoire « /home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/gcc »
make: *** [all-gcc] Erreur 2
J'ai vérifié, le fichier cloog.h est bien présent:
nailyk@nailyk-vm2:~/Ressources/build$ locate cloog.h
/home/nailyk/Ressources/build/cloog/cloog/cloog.h
/home/nailyk/Ressources/build/cloog/cloog/isl/cloog.h
J'ai essayé avec différentes versions de cloog: 0.16.2, 0.17.0 et même, cloog-ppl-0.15.11, à chaque fois l'erreur est la même, ce qui veut dire, je suppose, qu'il me manque une autre librairie.
D'où ma question: comment fais-je pour savoir quelle librairie est manquante?
Merci d'avance!
Dernière modification par MéPHiST (Le 17/02/2013, à 20:00)
Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire. A.Einstein
Hors ligne
#2 Le 04/07/2012, à 13:55
- claudius01
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Bonjour,
Dans la ligne de compilation, on trouve
-I/home/nailyk/Ressources/build/cloog/include
Compte-tenu des localisations du fichier 'cloog.h' et de l'erreur 'cloog/cloog.h: Aucun fichier ou dossier de ce type' (en prenant '/home/nailyk/Ressources/build/cloog/cloog/cloog.h'),
-I/home/nailyk/Ressources/build/cloog
serait plus juste...
Une autre solution est de créer un lien (qui permet de ne rien faire au niveau de la production)
# Créer le(s) répertoire(s) inexistant(s)
$ ln -s /home/nailyk/Ressources/build/cloog/cloog/cloog.h /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h
En espérant t'avoir aidé
Cordialement, A+
--
Claudius
Dernière modification par claudius01 (Le 04/07/2012, à 13:58)
Hors ligne
#3 Le 04/07/2012, à 15:41
- MéPHiST
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Bonjour claudius01,
Tout d'abord merci pour la rapidité et l'efficacité de la réponse! J'avais pourtant épluché la ligne de compilation mais j'ai du passer un peu vite sur les includes...
En revanche, maintenant il m'indique beaucoup d'erreurs de types non déclarés.
J'ai procédé de la façon suivante:
571 rm -R ./build/cloog ##suppression cloog
572 ./build/make distclean ##nettoyage des fichiers générés
574 cp -R ./cloog-0.17.0/source ./build/cloog ##recopie des sources cloog
575 cp -R ./cloog-0.17.0/include ./build/cloog/include ##recopie des includes cloog
576 cd build/
577 time ./configure --enable-languages=c --disable-shared --disable-threads --disable-checking --disable-multilib --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --target=arm-pc-linux
578 time make all-gcc
Et les erreurs sont les suivantes:
gcc/. -I../.././gcc/../include -I../.././gcc/../libcpp/include -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/gmp -I/home/nailyk/Ressources/build/gmp -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/mpfr -I/home/nailyk/Ressources/build/mpfr -I/home/nailyk/Ressources/build/mpc/src -I../.././gcc/../libdecnumber -I../.././gcc/../libdecnumber/dpd -I../libdecnumber -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/ppl/src -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/ppl/interfaces/C -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/cloog/include -I/home/nailyk/Ressources/build/cloog/include -DCLOOG_PPL_BACKEND ../.././gcc/graphite.c -o graphite.o
In file included from ../.././gcc/tree-flow.h:877:0,
from ../.././gcc/graphite.c:44:
../.././gcc/tree-flow-inline.h: In function ‘num_ssa_operands’:
../.././gcc/tree-flow-inline.h:872:8: warning: variable ‘t’ set but not used [-Wunused-but-set-variable]
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:45:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/int.h: At top level:
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:34:2: error: #error "No integer type defined"
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:122:1: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:122:23: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:122:38: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:155:2: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:161:30: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:162:20: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:162:38: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:163:20: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:163:38: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:164:24: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:164:42: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:164:58: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:165:4: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:165:20: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:166:20: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:166:50: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:167:22: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:167:39: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:168:26: error: unknown type name ‘cloog_int_t’
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:46:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/matrix.h:41:3: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/matrix.h:42:3: error: unknown type name ‘cloog_int_t’
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:47:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/state.h:14:3: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/state.h:15:3: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/state.h:16:3: error: unknown type name ‘cloog_int_t’
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:50:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/constraints.h:81:49: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/constraints.h:105:4: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/constraints.h:107:13: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/constraints.h:109:13: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/constraints.h:111:4: error: unknown type name ‘cloog_int_t’
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:51:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/stride.h:13:3: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/stride.h:14:3: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/stride.h:15:3: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/stride.h:20:33: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/stride.h:20:53: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/stride.h:21:49: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/stride.h:22:31: error: unknown type name ‘cloog_int_t’
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:52:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:137:55: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:137:70: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:145:5: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:147:26: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:153:9: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:155:9: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:166:14: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:166:31: error: unknown type name ‘cloog_int_t’
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:54:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/block.h:65:3: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/block.h:107:9: error: unknown type name ‘cloog_int_t’
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:59:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/clast.h:30:5: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/clast.h:48:5: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/clast.h:99:5: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/clast.h:124:35: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/clast.h:126:35: error: unknown type name ‘cloog_int_t’
../.././gcc/graphite.c:62:19: fatal error: ppl_c.h: Aucun fichier ou dossier de ce type
compilation terminated.
make[1]: *** [graphite.o] Erreur 1
make[1]: quittant le répertoire « /home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/gcc »
make: *** [all-gcc] Erreur 2
real 7m37.424s
user 5m32.765s
sys 0m41.727s
Cela ressemble beaucoup à une erreur de version...
Ma question est donc, en tant que noob de compilation, comment faire pour connaitre les dépendances (quelles librairies choisir), les version à compiler ainsi que les emplacements?
J'ai eu beau chercher dans les pré-requis, les README, est autres fichiers, la seule solution que j'ai trouvée pour le moment est le './configure --help'...
Merci d'avance!
Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire. A.Einstein
Hors ligne
#4 Le 04/07/2012, à 16:39
- claudius01
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Re MéPHiST,
1) Il y a encore une erreur d'include non trouvé qu'il faut résoudre
../.././gcc/graphite.c:62:19: fatal error: ppl_c.h: Aucun fichier ou dossier de ce type
2) Je ne sais pas si les 2 erreurs
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:34:2: error: #error "No integer type defined"
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:122:1: error: unknown type name ‘cloog_int_t’
sont liées à ce 'ppl_c.h' (l'éditer pour en savoir plus)
Pour la 1st erreur '#error "No integer type defined"', il faut éditer le fichier car cette directive sert effectivement à vérifier des versions ou des prérequis attendus (cf. C_preprocessor)
Pour la 2nd erreur, il faut faire une recherche pour savoir quel fichier définit le type 'cloog_int_t'
$ find / -name "*" -exec grep -l cloog_int_t {} \;
Remarque: Je te conseil de faire des recherches sur google des erreurs rencontrées car on n'est jamais le premier à tomber dessus.
De plus, il faut s'armer de patience, car la compilation de gcc pour une cible donnée n'est jamais simple (j'ai mis plus d'une semaine pour la cible PIC30 de Microchip et encore en bypassant des parties de codes et en forçant certains types en fonction de leurs utilisations).
Cordialement, A+
--
Claudius
Dernière modification par claudius01 (Le 04/07/2012, à 16:43)
Hors ligne
#5 Le 04/07/2012, à 17:14
- MéPHiST
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Remarque: Je te conseil de faire des recherches sur google des erreurs rencontrées car on n'est jamais le premier à tomber dessus.
De plus, il faut s'armer de patience, car la compilation de gcc pour une cible donnée n'est jamais simple (j'ai mis plus d'une semaine pour la cible PIC30 de Microchip et encore en bypassant des parties de codes et en forçant certains types en fonction de leurs utilisations).
Effectivement, j'ai déjà fait de la cross compilation, il y a assez longtemps, et j'avais aussi eu du mal. Par contre savoir que l'on peut compiler avec gcc pour du PIC m’intéresse bcp!!
Concernant google je ne l'ai pas précisé mais j'ai évidemment effectué des recherches préalables mais n'ai pas réussi à tomber sur des personnes qui avaient résolues mon cas de figure .
J'avoue que je suis un peu ambigu. En réalité, ma question est: Comment me débrouiller tout seul? Quel est la marche à suivre lorsque l'on rencontre des erreurs de compilations? Comment vérifier les versions des librairies, etc?
Je rentre chez moi et teste les manipulations que tu m'as indiqué.
Merci beaucoup!
Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire. A.Einstein
Hors ligne
#6 Le 05/07/2012, à 16:11
- MéPHiST
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Bonjour,
après avoir passé la nuit à ré-essayer je ne suis tombé que sur cette erreur.
Il me semblait qu'en compilation il fallait toujours s'occuper de la première erreur en premier. Donc j'ai essayé de chercher la déclaration de 'cloog_int_t' que je n'ai pas trouvée dans me fichiers... En revanche, comme l'erreur du fichier ppl-c.h est indiquée dans la même 'commande de compilation' je pense qu'elles sont effectivement dues à ce fichier manquant.
Ce que je ne comprend pas est ceci:
nailyk@nailyk-vm2:~/Ressources/result$ locate ppl_c.h
/home/nailyk/Ressources/ppl-0.11/interfaces/C/ppl_c.h.dist
pourquoi ce fichier est-il en '.dist'?
Si non je commence à me demander si mon --target=arm-linux-gnu n'est pas mauvais à force de voir des 'host-x86_64-unknown-linux-gnu'...
Après avoir corrigé quelques erreurs je n'ai plus de fichier manquant mais toujours mes erreurs de 'cloog_int_t':
../.././gcc/. -I../.././gcc/../include -I../.././gcc/../libcpp/include -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/gmp -I/home/nailyk/R
essources/build/gmp -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/mpfr -I/home/nailyk/Ressources/build/mpfr -I/home/nailyk/Ressources/bui
ld/mpc/src -I../.././gcc/../libdecnumber -I../.././gcc/../libdecnumber/dpd -I../libdecnumber -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-g
nu/ppl/src -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/ppl/interfaces/C -I/home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/
cloog/include -I/home/nailyk/Ressources/build/cloog/include -DCLOOG_PPL_BACKEND -I/usr/include/libelf ../.././gcc/graphite.c -o graphite.o
In file included from ../.././gcc/tree-flow.h:877:0,
from ../.././gcc/graphite.c:44:
../.././gcc/tree-flow-inline.h: In function ‘num_ssa_operands’:
../.././gcc/tree-flow-inline.h:872:8: warning: variable ‘t’ set but not used [-Wunused-but-set-variable]
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:45:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/int.h: At top level:
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:34:2: error: #error "No integer type defined"
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:122:1: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:122:23: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:122:38: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:155:2: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:161:30: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:162:20: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:162:38: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:163:20: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:163:38: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:164:24: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:164:42: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:164:58: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:165:4: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:165:20: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:166:20: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:166:50: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:167:22: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:167:39: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/int.h:168:26: error: unknown type name ‘cloog_int_t’
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:46:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/matrix.h:41:3: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/matrix.h:42:3: error: unknown type name ‘cloog_int_t’
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:47:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/state.h:14:3: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/state.h:15:3: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/state.h:16:3: error: unknown type name ‘cloog_int_t’
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:50:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/constraints.h:81:49: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/constraints.h:105:4: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/constraints.h:107:13: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/constraints.h:109:13: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/constraints.h:111:4: error: unknown type name ‘cloog_int_t’
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:51:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/stride.h:13:3: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/stride.h:14:3: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/stride.h:15:3: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/stride.h:20:33: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/stride.h:20:53: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/stride.h:21:49: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/stride.h:22:31: error: unknown type name ‘cloog_int_t’
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:52:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:137:55: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:137:70: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:145:5: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:147:26: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:153:9: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:155:9: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:166:14: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/domain.h:166:31: error: unknown type name ‘cloog_int_t’
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:54:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/block.h:65:3: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/block.h:107:9: error: unknown type name ‘cloog_int_t’
In file included from /home/nailyk/Ressources/build/cloog/include/cloog/cloog.h:59:0,
from ../.././gcc/graphite.c:61:
/home/nailyk/Ressources/build/cloog/include/cloog/clast.h:30:5: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/clast.h:48:5: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/clast.h:99:5: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/clast.h:124:35: error: unknown type name ‘cloog_int_t’
/home/nailyk/Ressources/build/cloog/include/cloog/clast.h:126:35: error: unknown type name ‘cloog_int_t’
In file included from ../.././gcc/graphite.c:63:0:
../.././gcc/graphite-ppl.h:47:58: error: unknown type name ‘Value’
../.././gcc/graphite-ppl.h:48:69: error: unknown type name ‘Value’
../.././gcc/graphite-ppl.h:50:56: error: unknown type name ‘Value’
../.././gcc/graphite-ppl.h:52:35: error: unknown type name ‘Value’
../.././gcc/graphite-ppl.h:59:26: error: unknown type name ‘Value’
../.././gcc/graphite-ppl.h:68:29: error: unknown type name ‘Value’
../.././gcc/graphite-ppl.h: In function ‘ppl_set_inhomogeneous’:
../.././gcc/graphite-ppl.h:87:3: error: unknown type name ‘Value’
../.././gcc/graphite-ppl.h:88:3: warning: implicit declaration of function ‘value_init’ [-Wimplicit-function-declaration]
../.././gcc/graphite-ppl.h:89:3: warning: implicit declaration of function ‘value_set_si’ [-Wimplicit-function-declaration]
../.././gcc/graphite-ppl.h:90:3: warning: implicit declaration of function ‘ppl_set_inhomogeneous_gmp’ [-Wimplicit-function-declaration]
../.././gcc/graphite-ppl.h:91:3: warning: implicit declaration of function ‘value_clear’ [-Wimplicit-function-declaration]
../.././gcc/graphite-ppl.h: In function ‘ppl_set_inhomogeneous_tree’:
../.././gcc/graphite-ppl.h:99:3: error: unknown type name ‘Value’
../.././gcc/graphite-ppl.h:101:3: warning: implicit declaration of function ‘tree_int_to_gmp’ [-Wimplicit-function-declaration]
../.././gcc/graphite-ppl.h: In function ‘ppl_set_coef’:
../.././gcc/graphite-ppl.h:111:3: error: unknown type name ‘Value’
../.././gcc/graphite-ppl.h:114:3: warning: implicit declaration of function ‘ppl_set_coef_gmp’ [-Wimplicit-function-declaration]
../.././gcc/graphite-ppl.h: In function ‘ppl_set_coef_tree’:
../.././gcc/graphite-ppl.h:123:3: error: unknown type name ‘Value’
../.././gcc/graphite-ppl.h: At top level:
../.././gcc/graphite-ppl.h:133:12: error: unknown type name ‘Value’
../.././gcc/graphite-ppl.h:133:23: error: unknown type name ‘Value’
../.././gcc/graphite-ppl.h:133:33: error: unknown type name ‘Value’
In file included from ../.././gcc/graphite.c:65:0:
../.././gcc/graphite-poly.h:370:66: error: unknown type name ‘Value’
../.././gcc/graphite-poly.h:371:74: error: unknown type name ‘Value’
../.././gcc/graphite-poly.h:651:3: error: unknown type name ‘Value’
../.././gcc/graphite.c: In function ‘graphite_initialize’:
../.././gcc/graphite.c:216:3: warning: implicit declaration of function ‘cloog_initialize’ [-Wimplicit-function-declaration]
../.././gcc/graphite.c: In function ‘graphite_finalize’:
../.././gcc/graphite.c:239:3: warning: implicit declaration of function ‘cloog_finalize’ [-Wimplicit-function-declaration]
make[1]: *** [graphite.o] Erreur 1
make[1]: quittant le répertoire « /home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/gcc »
make: *** [all-gcc] Erreur 2
real 17m10.065s
user 14m17.142s
sys 1m10.228s
J'ai eu beau cherche mon erreur dans google: comme cela , je n'ai pas trouvé grand chose...
Ma question est donc: comment faire pour trouver dans quel fichier est faite la déclaration du type 'cloog_int_t' et comment vérifier que le fichier est bien compilé avant?
Merci d'avance.
P.S.: au passage j'ai changé de tuto, je suis passé sur celui-ci: http://frank.harvard.edu/~coldwell/toolchain/ que j'adapte à mes besoins.
EDIT: j'ai recommencé en mettant pour target: arm-linux-gnuabi
Dernière modification par MéPHiST (Le 05/07/2012, à 16:12)
Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire. A.Einstein
Hors ligne
#7 Le 05/07/2012, à 16:55
- claudius01
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Bonsoir MéPHiST,
1) Si le ./configure l'autorise, peux-tu ajouter les 2 options et tout refaire ;-(
--with-ppl --with-cloog
2) S'agissant du fichier 'ppl_c.h.dist', c'est comme si la librairie Parma Polyhedra Library n'avait pas été produite ni installée puisque après téléchargement de celle-ci (http://bugseng.com/products/ppl/download), je vois ce .dist (je n'ai pas eu le temps de la produire) :
$ find . -name "ppl_c*"
./ppl-1.0/m4/ppl_c.m4
./ppl-1.0/interfaces/C/tests/ppl_c_test.h
./ppl-1.0/interfaces/C/tests/ppl_c_test.cc
./ppl-1.0/interfaces/C/ppl_c_version.h.in
./ppl-1.0/interfaces/C/ppl_c_header.h
./ppl-1.0/interfaces/C/ppl_c_implementation_common.inlines.hh
./ppl-1.0/interfaces/C/ppl_c_implementation_common.defs.hh
./ppl-1.0/interfaces/C/ppl_c_implementation_common.cc
./ppl-1.0/interfaces/C/ppl_c.h.dist
./ppl-1.0/doc/ppl_citations.bib
3) Je chercherai demain qui peut bien définir ce type 'cloog_int_t' (avis à la population ;-)
Cordialement, A+
--
Claudius
Hors ligne
#8 Le 05/07/2012, à 17:28
- MéPHiST
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
rm gcj-dbtool.pod jcf-dump.pod jv-convert.pod grmic.pod gcov.pod gcj.pod gc-analyze.pod gfdl.pod gij.pod gcc.pod gfortran.pod fsf-funding.pod
make[1]: quittant le répertoire « /home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/gcc »
real 24m9.300s
user 20m17.908s
sys 1m46.891s
on dirait un exit 0 ...
je comprends pas....
je réessaye sans les --with-cloog et --with-ppl parce que je le voyais bien compiler!
Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire. A.Einstein
Hors ligne
#9 Le 05/07/2012, à 17:59
- MéPHiST
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Donc je viens de tester, je confirme, sans les options --with-cloog et --with-ppl ça ne fonctionne pas.
J'aimerai beaucoup comprendre pourquoi... parce-que (je ne vais pas le poster en entier), on voit bien qu'il les compile avant...
Bon... Pour être bien sur je re-test avec --with-cloog et --with-ppl.
En tout cas merci beaucoup claudius01!!
EDIT: Confirmé, passer les options --with-cloog et --with-ppl fonctionnent:
{...}
perl ../.././gcc/../contrib/texi2pod.pl -D aot-compile < ../.././gcc/java/gcj.texi > aot-compile.pod
echo timestamp > doc/aot-compile.1
(pod2man --center="GNU" --release="gcc-4.5.3" --section=1 aot-compile.pod > doc/aot-compile.1.T$$ && \
mv -f doc/aot-compile.1.T$$ doc/aot-compile.1) || \
(rm -f doc/aot-compile.1.T$$ && exit 1)
perl ../.././gcc/../contrib/texi2pod.pl -D rebuild-gcj-db < ../.././gcc/java/gcj.texi > rebuild-gcj-db.pod
echo timestamp > doc/rebuild-gcj-db.1
(pod2man --center="GNU" --release="gcc-4.5.3" --section=1 rebuild-gcj-db.pod > doc/rebuild-gcj-db.1.T$$ && \
mv -f doc/rebuild-gcj-db.1.T$$ doc/rebuild-gcj-db.1) || \
(rm -f doc/rebuild-gcj-db.1.T$$ && exit 1)
rm gcj-dbtool.pod jcf-dump.pod jv-convert.pod grmic.pod gcov.pod gcj.pod gc-analyze.pod gfdl.pod gij.pod gcc.pod gfortran.pod fsf-funding.pod
make[1]: quittant le répertoire « /home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/gcc »
real 24m1.174s
user 20m7.311s
sys 1m30.994s
root@nailyk-vm2:/home/nailyk/Ressources/build# sudo make install-gcc
{...}
/usr/bin/install -c -m 644 ../.././gcc/vecprim.h /usr/local/lib/gcc/arm-linux-gnuabi/4.5.3/plugin/include/vecprim.h
/usr/bin/install -c -m 644 ../.././gcc/version.h /usr/local/lib/gcc/arm-linux-gnuabi/4.5.3/plugin/include/version.h
/usr/bin/install -c -m 644 b-header-vars /usr/local/lib/gcc/arm-linux-gnuabi/4.5.3/plugin/include/b-header-vars
make[1]: quittant le répertoire « /home/nailyk/Ressources/build/host-x86_64-unknown-linux-gnu/gcc »
Dernière modification par MéPHiST (Le 05/07/2012, à 20:23)
Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire. A.Einstein
Hors ligne
#10 Le 05/07/2012, à 20:27
- MéPHiST
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Sauf que le compilateur ne fonctionne pas....
J'ai essayé de compiler le code suivant:
int main ()
{ ; return 0; }
et il me retourne:
nailyk@nailyk-vm2:~/Ressources/test$ arm-linux-gnuabi-gcc arm.c
/tmp/ccOxAF3S.s: Assembler messages:
/tmp/ccOxAF3S.s:7: Error: junk at end of line, first unrecognized character is `@'
/tmp/ccOxAF3S.s:8: Error: junk at end of line, first unrecognized character is `@'
/tmp/ccOxAF3S.s:9: Error: junk at end of line, first unrecognized character is `@'
/tmp/ccOxAF3S.s:10: Error: invalid char '[' beginning operand 2 `[sp'
/tmp/ccOxAF3S.s:11: Error: too many memory references for `add'
/tmp/ccOxAF3S.s:12: Error: expecting operand after ','; got nothing
/tmp/ccOxAF3S.s:13: Error: too many memory references for `mov'
/tmp/ccOxAF3S.s:14: Error: too many memory references for `add'
/tmp/ccOxAF3S.s:15: Error: no such instruction: `ldmfd sp!,{fp}'
/tmp/ccOxAF3S.s:16: Error: too many memory references for `mov'
Je pense que j'ai raté une étape dans la compilation de gcc...
Là je doit avouer que je suis perdu... (oui encore plus qu'au début )
EDIT:
J'ai vraiment du zapper quelque chose:
Error: junk at end of line, first unrecognized character is ','
This, in combination with lots of other assembly-level error messages (like, Warning: .type pseudo-op used outside of .def/.endef ignored, or Error: unknown pseudo-op: '.local' ) results when you did not correctly set the --prefix=$PREFIX during the binutils configure.
source: http://wiki.osdev.org/GCC_Cross-Compiler
Dernière modification par MéPHiST (Le 05/07/2012, à 20:41)
Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire. A.Einstein
Hors ligne
#11 Le 06/07/2012, à 09:16
- claudius01
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Bonjour MéPHiST,
Sauf que le compilateur ne fonctionne pas....
Je te propose de lancer les 2 commandes suivantes pour savoir ce que gcc te propose comme comportements pour la cible ARM
$ arm-linux-gnuabi-gcc --target-help
$ arm-linux-gnuabi-gcc --help
De plus, il y a 3 options de lancement de gcc (en souhaitant qu'il te les propose) qui permettent de voir ce qu'il a bien pu générer sur ton petit programme 'arm.c'
-save-temps Do not delete intermediate files
-S Compile only; do not assemble or link
-v Display the programs invoked by the compiler
Tu devrais avoir le résultat du préprocesseur (fichier 'arm.i') et surtout le source assembleur (fichier 'arm.o' à vérifier) qui sera passé à l'assembleur (programme 'as' à vérifier) et à localiser dans la production car il faut absolument s'assurer que l'assembleur utilisé est bien celui pour la cible ARM (cela a l'air idiot mais je suis comme St. Thomas ;-)
Là je doit avouer que je suis perdu...
Faut pas, faut pas ;-)
Edit 1: Suite après une petite recherche de [gcc arm too many memory references for `add']...
Ton problème ressemble à ce fil de discussion : http://www.yaronet.com/posts.php?s=129679
Cordialement, A+
--
Claudius
Dernière modification par claudius01 (Le 06/07/2012, à 10:07)
Hors ligne
#12 Le 07/07/2012, à 21:19
- MéPHiST
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Bonjour,
alors voici ce qui s'est passé depuis le 05: je me suis énervé. J'ai donc repris le TP de zero. nouvelle VM, nouvelles versions, bref tout propre.
J'ai compilé mes binutils à l'aide de:
../configure --target=arm-linux-gnueabi --prefix=/tools --with-sysroot=/tools/arm --with-lib-path=/tools/libs
puis gcc (4.7.1) à l'aide de:
../configure \
--target=arm-linux-gnueabi \
--prefix=/tools \
--with-sysroot=/tools/arm \
--with-newlib \
--without-headers \
--with-local-prefix=/tools \
--with-native-system-header-dir=/tools/include \
--disable-nls \
--disable-shared \
--disable-multilib \
--disable-decimal-float \
--disable-threads \
--disable-libmudflap \
--disable-libssp \
--disable-libgomp \
--disable-libquadmath \
--enable-languages=c
d'après le tuto situé ici.
En fait, je me suis rendu compte que lorsque tu m'as demandé de passer les options '--with-ppl' et '--with-cloog' (je n'avais rien précisé de plus) il en avait conclu que le répertoire de recherche était '/'. Ce qui m'as étonné c'est que ça compile quand même.
Bref, j'ai recommencé avec un environnement propre, tout s'est bien passé. Mais vraiment tout, les binutils, gcc, parfait. Mais quand je compile il me dit qu'il manque des fichiers...
Bref je suppose que mon topic est [abandonné] ou [contourné]. Puis-je continuer à poser mes question ici où dois-je ouvrir un nouveau topic?
En tout cas merci de ton aide claudius01!
Voici où j'en suis à l'heure actuelle:
Tests avec mon nouveau compilateur et toujours le même fichier de test ( int main(){ ; return 0;}; ):
nailyk@nailyk-vm3:~/Ressources/test$ arm-linux-gnueabi-gcc arm.c
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find crt1.o: No such file or directory
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find crti.o: No such file or directory
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find crtbegin.o: No such file or directory
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgcc
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find -lc
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgcc
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find crtend.o: No such file or directory
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
--save-temps donne:
nailyk@nailyk-vm3:~/Ressources/test$ cat arm.i
# 1 "arm.c"
# 1 "<command-line>"
# 1 "arm.c"
int main()
{ ; return 0;};
nailyk@nailyk-vm3:~/Ressources/test$ cat arm.o
ELF(4(
-0Ћ/GCC: (GNU) 4.7.1A2aeabi(ARM10TDMI ,.symtab.strtab.shstrtab.text.data.bss.comment.note.GNU-stack.ARM.attributes4!PP,0P5bEpb3U|
arm.c$amainnailyk@nailyk-vm3:~/Ressources/test$
nailyk@nailyk-vm3:~/Ressources/test$ cat arm.s
.cpu arm10tdmi
.fpu softvfp
.eabi_attribute 20, 1
.eabi_attribute 21, 1
.eabi_attribute 23, 3
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 26, 2
.eabi_attribute 30, 6
.eabi_attribute 34, 0
.eabi_attribute 18, 4
.file "arm.c"
.text
.align 2
.global main
.type main, %function
main:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 1, uses_anonymous_args = 0
@ link register save eliminated.
str fp, [sp, #-4]!
add fp, sp, #0
mov r3, #0
mov r0, r3
add sp, fp, #0
ldmfd sp!, {fp}
bx lr
.size main, .-main
.ident "GCC: (GNU) 4.7.1"
.section .note.GNU-stack,"",%progbits
D'après ce que je comprends il s'agit donc du passage de l'objet (.o) à l’exécutable qui se passe mal? (?linking?) Ce qui m'a l'air d'être confirmé par:
nailyk@nailyk-vm3:~/Ressources/test$ arm-linux-gnueabi-gcc -S arm.c; echo $?
0
Et pour finir:
nailyk@nailyk-vm3:~/Ressources/test$ arm-linux-gnueabi-gcc -v arm.c
Using built-in specs.
COLLECT_GCC=arm-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/tools/libexec/gcc/arm-linux-gnueabi/4.7.1/lto-wrapper
Target: arm-linux-gnueabi
Configured with: ../configure --target=arm-linux-gnueabi --prefix=/tools --with-sysroot=/tools/arm --with-newlib --without-headers --with-local-prefix=/tools --with-native-system-header-dir=/tools/include --disable-nls --disable-shared --disable-multilib --disable-decimal-float --disable-threads --disable-libmudflap --disable-libssp --disable-libgomp --disable-libquadmath --enable-languages=c
Thread model: single
gcc version 4.7.1 (GCC)
COLLECT_GCC_OPTIONS='-v' '-mtls-dialect=gnu'
/tools/libexec/gcc/arm-linux-gnueabi/4.7.1/cc1 -quiet -v arm.c -quiet -dumpbase arm.c -mtls-dialect=gnu -auxbase arm -version -o /tmp/ccbmQquW.s
GNU C (GCC) version 4.7.1 (arm-linux-gnueabi)
compiled by GNU C version 4.4.5, GMP version 5.0.5, MPFR version 2.4.2, MPC version 0.9
GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128349
ignoring nonexistent directory "/tools/arm/tools/include"
ignoring nonexistent directory "/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/include"
ignoring nonexistent directory "/tools/arm/tools/include"
#include "..." search starts here:
#include <...> search starts here:
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/include
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/include-fixed
End of search list.
GNU C (GCC) version 4.7.1 (arm-linux-gnueabi)
compiled by GNU C version 4.4.5, GMP version 5.0.5, MPFR version 2.4.2, MPC version 0.9
GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128349
Compiler executable checksum: 2b9015e0bbc143da10eb05b9b740550b
COLLECT_GCC_OPTIONS='-v' '-mtls-dialect=gnu'
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/as -v -meabi=5 -o /tmp/ccBqg4l9.o /tmp/ccbmQquW.s
GNU assembler version 2.22 (arm-linux-gnueabi) using BFD version (GNU Binutils) 2.22
COMPILER_PATH=/tools/libexec/gcc/arm-linux-gnueabi/4.7.1/:/tools/libexec/gcc/arm-linux-gnueabi/4.7.1/:/tools/libexec/gcc/arm-linux-gnueabi/:/tools/lib/gcc/arm-linux-gnueabi/4.7.1/:/tools/lib/gcc/arm-linux-gnueabi/:/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/
LIBRARY_PATH=/tools/lib/gcc/arm-linux-gnueabi/4.7.1/:/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/lib/
COLLECT_GCC_OPTIONS='-v' '-mtls-dialect=gnu'
/tools/libexec/gcc/arm-linux-gnueabi/4.7.1/collect2 --sysroot=/tools/arm --eh-frame-hdr -dynamic-linker /lib/ld-linux.so.3 -X -m armelf_linux_eabi crt1.o crti.o crtbegin.o -L/tools/lib/gcc/arm-linux-gnueabi/4.7.1 -L/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/lib /tmp/ccBqg4l9.o -lgcc -lc -lgcc crtend.o crtn.o
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find crt1.o: No such file or directory
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find crti.o: No such file or directory
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find crtbegin.o: No such file or directory
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgcc
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find -lc
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgcc
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find crtend.o: No such file or directory
/tools/lib/gcc/arm-linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
D'après ce que je lis je pense que j'ai encore fait n'imp avec les dossiers...
Si quelqu'un voit l'erreur...
Merci.
P.S.: si qqun sait comment diminuer la taille des fenêtres de code du forum je prend!
Dernière modification par MéPHiST (Le 07/07/2012, à 22:05)
Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire. A.Einstein
Hors ligne
#13 Le 09/07/2012, à 10:40
- claudius01
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Bonjour MéPHiST,
D'après ce que je comprends il s'agit donc du passage de l'objet (.o) à l’exécutable qui se passe mal? (?linking?) ...
Attention, il ne faut pas parler d'exécutable mais plutôt de fichier téléchargeable du type coff ou elf dans ton cas par rapport à ce que je vois de la compilation du programme de test arm.c
L'éditeur de lien crie effectivement sur l'absence des fichiers
crt1.o
crti.o
crtbegin.o
libgcc.a
etc.
Sauf erreur de ma part, les fichiers crt... sont les fichiers d'amorce du code (c_start avant l'appel au main)
Il serait intéressant de savoir si ces fichiers n'existent vraiment pas (faire un locate ou un find ...)
S'ils sont introuvables, c'est la partie 'éditeur de lien' qui n'a pas été produite complètement ou qu'un ensemble n'a pas été configuré correctement. Je pencherais pour les Binutils qui implémentent as et ld
Voilà, je comprends que tu désespères mais je ne peux que t'encourager à persévérer ;-)
Cordialement, A+
--
Claudius
Dernière modification par claudius01 (Le 09/07/2012, à 10:42)
Hors ligne
#14 Le 09/07/2012, à 13:25
- MéPHiST
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Bonjour,
Concernant les fichiers manquants je les ai trouvés dans mes libs. Mais pas dans les libs cross (dans '/usr/lib' en fait)...
D'après ce que j'ai compris, ce sont effectivement des libraires nécessaire au linkeur qui sont fournies par les libc (pour les fonctions primaires de la machine: lectures/écritures des IOs). Or d'après tous les tutos que j'ai pu utiliser, les libc sont compilées après le boostrap gcc. Malheureusement, dans le ./configure des libc, un test de routine est effectué pour valider le bon fonctionnement de GCC.... Du coup je tourne un peu en rond... Dois-je préciser, à ma compilation libc d'utiliser le linker pour ma machine ('/usr/bin/???/x86-64/ld') et non pour l'architecture cible ('arm-linux-gnueabi-ld')?
Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire. A.Einstein
Hors ligne
#15 Le 09/07/2012, à 15:36
- claudius01
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Re MéPHiST,
Il y a de quoi effectivement tourner en rond et il est normal de préciser 'arm-linux-gnueabi-ld'...
Toujours est-il que les fichiers .asm pour ARM (tu en auras plus et des différents sans doute car j'utilise gcc.4.0.2 pour la cible PIC30 de Microchip comme je te l'ai dis au post #4)
.../gcc/config/arm/crti.asm
.../gcc/config/arm/crtn.asm
.../gcc/config/arm/lib1funcs.asm
doivent faire l'objet d'un .o voire d'une libxxx.a qui seront utilisés à l'édition finale (on retrouve les fameux crt...)
La stratégie consiste à rechercher dans les Makefile*, où ceux-ci seraient utilisés et sous quelle(s) condition(s) de configuration
PS: J'ai trouvé cela qui ressemble au problème : http://stackoverflow.com/questions/3346 … ing-crti-o
Cordialement, A+
--
Claudius
Dernière modification par claudius01 (Le 09/07/2012, à 16:03)
Hors ligne
#16 Le 05/08/2012, à 14:15
- MéPHiST
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Bonjour,
Juste pour tenir au courant, je n'ai pas abandonné mais je rencontres quelques difficultés d'un autre ordre.
En effet j'ai essayé de changer de machine pour effectuer mes compilations mais je rencontre des pbms d'erreurs de stockage (en iSCSI).
Et au passage je me suis rendu compte d'une grosse erreur de ma part:
L'éditeur de lien crie effectivement sur l'absence des fichiers
crt1.o crti.o crtbegin.o libgcc.a etc.
Je me suis rendu compte que:
1° j'avais oublié d’exécuter 'make all-target-libgcc install-target-libgcc'
2° il est normal que mon linker ne trouve pas les crt*.* étant donné que je n'ai pas encore compilé les libc ...
J'essaye ça dès que possible.
Merci encore pour l'aide!
Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire. A.Einstein
Hors ligne
#17 Le 17/02/2013, à 19:59
- MéPHiST
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Me revoici longtemps après (toutes mes excuses mais je n'ai pas eu le temps de continuer avant)
Miracle le compilateur fonctionne:
pi@raspberrypi ~ $ scp nailyk@vm4compil:~/test/helloworld ./
nailyk@vm4compil's password:
helloworld 100% 7775 7.6KB/s 00:00
pi@raspberrypi ~ $ ./helloworld
Hello world!
pi@raspberrypi ~ $
J'ai rencontré quelques difficultés mais pas insurmontables.
Je vais essayer d'expliquer les étapes, j'espère qu'elles pourront êtres utiles à quelques personnes (toujours en suivant le tuto: http://pmc.polytechnique.fr/pagesperso/dc/arm.html )
(je ne vais pas trop rentrer dans le détail, mais peut-être que je pourrais aider si vous me posez des questions)
le téléchargement des sources est là où, quand j'ai commencé, j'ai commis ma première erreur: il ne faut pas chercher à mettre toutes les dernière librairies, mais utiliser la fonction 'download_prerequisites' de gcc:
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.7.8.tar.bz2
wget http://ftp.gnu.org/gnu/binutils/binutils-2.22.tar.gz
wget http://ftp.gnu.org/gnu/gcc/gcc-4.7.1/gcc-4.7.1.tar.gz
wget http://ftp.gnu.org/gnu/glibc/glibc-2.16.0.tar.bz2
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.16.0.tar.bz2
bzip2 -d linux-3.7.8.tar.bz2
gzip -d binutils-2.22.tar.gz
bzip2 -d glibc-2.16.0.tar.bz2
gzip -d gcc-4.7.1.tar.gz
bzip2 -d glibc-ports-2.16.0.tar.bz2
tar xf linux-3.7.8.tar
tar xf binutils-2.22.tar
tar xf glibc-2.16.0.tar
tar xf gcc-4.7.1.tar
cd glibc-2.16.0
tar xf ../glibc-ports-2.16.0.tar
cd ../gcc-4.7.1
./contrib/download_prerequisites
Et les sources sont téléchargées correctement, avec les bonnes librairies (pas les plus récentes, mais qui sont certaines de fonctionner avec la version de gcc téléchargée). Je conseille également de prendre les dernières stables, et pas les 'rc' ou 'béta'.
Une fois ceci fait, j'ai pu compiler comme le tuto.
J'ai encore rencontré des erreurs de fichier introuvable mais il ne s'agissait que d'érreurs de dossiers (que je n'ai pas encore trouvé), qu'il est facile de contourner avec la commande 'ln'. Ce n'est peut-être pas très propre mais ça fonctionne!
ln -s /tools/opt/arm/lib/gcc/arm-none-linux-gnueabi/4.7.1/libgcc.a /tools/opt/arm/lib/gcc/arm-none-linux-gnueabi/4.7.1/libgcc_s.a
ln -s /home/nailyk/sources/gcc-4.7.1/gcc/config/i386/cpuid.h /tools/opt/arm/lib/gcc/arm-none-linux-gnueabi/4.7.1/cpuid.h
ln -s /tools/opt/arm/lib/gcc/arm-none-linux-gnueabi/4.7.1/libgcc.a /tools/opt/arm/lib/gcc/arm-none-linux-gnueabi/4.7.1/libgcc_eh.a
ln -s /tools/opt/arm/lib/gcc/arm-none-linux-gnueabi/4.7.1/libgcc.a /tools/opt/arm/lib/gcc/arm-none-linux-gnueabi/4.7.1/libgcc_sh.a
Merci beaucoup claudius01! Ta précieuse aide m'a permis de mettre en évidence mes erreurs, de comprendre la marche à suivre et d'avoir enfin un cross-compilateur qui fonctionne.
Sujet passé en résolu.
P.S.: je peux mettre mes différentes étapes si besoin.
Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire. A.Einstein
Hors ligne
#18 Le 18/02/2013, à 16:57
- claudius01
Re : [resolu avec gcc4.7.1] pbm compilation croisée gcc 4.5.3 librairies
Bonjour,
Merci à toi MéPHiST pour ce retour positif très pédagogique.
Cordialement, A+
--
Claudius
Dernière modification par claudius01 (Le 19/02/2013, à 10:07)
Hors ligne