View previous topic :: View next topic |
Author |
Message |
gbetous l33t
Joined: 15 Jan 2004 Posts: 679 Location: Toulouse
|
Posted: Fri Jul 20, 2012 6:11 am Post subject: [Cross] Impossible de générer la chaine avec crossdev |
|
|
Bonjour,
J'essaie de générer une chaîne complète de compilation pour le RaspberryPi, et je suis simplement le wiki Gentoo.
La génération s'arrête assez rapidement, avec l'erreur suivante :
Code: | make[2] : on quitte le répertoire « /var/tmp/portage/cross-armv6j-hardfloat-linux-gnueabi/gcc-4.4.3/work/build/gcc »
Checking multilib configuration for libgcc...
mkdir -p -- armv6j-hardfloat-linux-gnueabi/libgcc
Configuring in armv6j-hardfloat-linux-gnueabi/libgcc
configure: creating cache ./config.cache
checking for --enable-version-specific-runtime-libs... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for gawk... gawk
checking build system type... x86_64-pc-linux-gnu
checking host system type... armv6j-hardfloat-linux-gnueabi
checking for armv6j-hardfloat-linux-gnueabi-ar... /usr/libexec/gcc/armv6j-hardfloat-linux-gnueabi/ar
checking for armv6j-hardfloat-linux-gnueabi-lipo... armv6j-hardfloat-linux-gnueabi-lipo
checking for armv6j-hardfloat-linux-gnueabi-nm... /var/tmp/portage/cross-armv6j-hardfloat-linux-gnueabi/gcc-4.4.3/work/build/./gcc/nm
checking for armv6j-hardfloat-linux-gnueabi-ranlib... /usr/libexec/gcc/armv6j-hardfloat-linux-gnueabi/ranlib
checking for armv6j-hardfloat-linux-gnueabi-strip... /usr/libexec/gcc/armv6j-hardfloat-linux-gnueabi/strip
checking whether ln -s works... yes
checking for armv6j-hardfloat-linux-gnueabi-gcc... /var/tmp/portage/cross-armv6j-hardfloat-linux-gnueabi/gcc-4.4.3/work/build/./gcc/xgcc -B/var/tmp/portage/cross-armv6j-hardfloat-linux-gnueabi/gcc-4.4.3/work/build/./gcc/ -B/usr/armv6j-hardfloat-linux-gnueabi/bin/ -B/usr/armv6j-hardfloat-linux-gnueabi/lib/ -isystem /usr/armv6j-hardfloat-linux-gnueabi/include -isystem /usr/armv6j-hardfloat-linux-gnueabi/sys-include
checking for suffix of object files... configure: error: in `/var/tmp/portage/cross-armv6j-hardfloat-linux-gnueabi/gcc-4.4.3/work/build/armv6j-hardfloat-linux-gnueabi/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[1]: *** [configure-target-libgcc] Erreur 1
make[1] : on quitte le répertoire « /var/tmp/portage/cross-armv6j-hardfloat-linux-gnueabi/gcc-4.4.3/work/build »
make: *** [all] Erreur 2
emake failed
|
Au passage, j'ai essayé avec une autre cible (powerpc) et j'ai la même erreur au même endroit.
Une idée ? Merci ! _________________ Core2Quad Q6600
ASUS P5B-V (i965 video intégrée)
~amd64 / KDE
|
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8723 Location: ~Brussels - Belgique
|
Posted: Fri Jul 20, 2012 7:51 am Post subject: |
|
|
Désactive fortran (USE="-fortran"), et prends une version plus récente de GCC. J'ai la version 4.7 sans souci, et la 4.5 est passée comme une rose. _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
kwenspc Advocate
Joined: 21 Sep 2003 Posts: 4954
|
Posted: Fri Jul 20, 2012 12:32 pm Post subject: |
|
|
Faut utiliser une bonne combinaison de versions gcc/glibc/binutils
Y a une matrice de compat ici http://kegel.com/crosstool/crosstool-0.43/buildlogs/
Mais apparement plus mise à jour
Faut chercher sur les forums lié à rasberry pi sinon. Ou bien XavierMiller, c'est quoi ta combinaison de versions? |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8723 Location: ~Brussels - Belgique
|
Posted: Fri Jul 20, 2012 12:46 pm Post subject: |
|
|
Hello,
La config du stage3 officiel est OK (gcc-4.5, glibc-2.15 (?), binutils-2.20), et je suis en "latest hardmasked", c'est-à-dire binutils-2.22, glibc-2.16 et gcc-4.7 sur toutes mes machines (amd64, atom, armv6j et armv7l).
Je ne pense pas que la version de gbetous soit utilisable : trop vieille.
Il faut aussi la dernière version de crossdev, qui supporte bien hardfp. _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
gbetous l33t
Joined: 15 Jan 2004 Posts: 679 Location: Toulouse
|
Posted: Fri Jul 20, 2012 4:45 pm Post subject: |
|
|
Je vais voir mes versions, mais je suis arrivé à trouver qqchose qui compile bien en suivant ce wiki.
Code: | crossdev -S -v -t arm-unknown-linux-gnueabi |
_________________ Core2Quad Q6600
ASUS P5B-V (i965 video intégrée)
~amd64 / KDE
|
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8723 Location: ~Brussels - Belgique
|
Posted: Fri Jul 20, 2012 8:01 pm Post subject: |
|
|
Je me répète : il te faut une version récente de crossdev et de la toolchain.
Et le host que tu mentionnes n'est pas assez précise.
Il te faut sys-devel/crossdev-20120531
Et le target doit être "armv6j-hardfloat-linux-gnueabi"
Chez moi, j'ai
- cross-armv6j-hardfloat-linux-gnueabi/binutils-2.22-r1
- cross-armv6j-hardfloat-linux-gnueabi/gcc-4.7.1
- cross-armv6j-hardfloat-linux-gnueabi/glibc-2.16.0
- cross-armv6j-hardfloat-linux-gnueabi/linux-headers-3.4-r1 _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
gbetous l33t
Joined: 15 Jan 2004 Posts: 679 Location: Toulouse
|
Posted: Mon Jul 23, 2012 6:08 am Post subject: |
|
|
Bizarre, j'ai bien mon crossdev à jour :
Code: |
guillaume@coyote ~ $ eix -s crossdev
[I] sys-devel/crossdev
Available versions: 20100814 20101011 20110310 20110705 20110819 (~)20111011 20111018 20111118 20111221 (~)20120214 (~)20120227 (~)20120228 (~)20120229 (~)20120301 20120305 (~)20120529 (~)20120531 **99999999
Installed versions: 20120531(22:40:30 19/07/2012)
Homepage: http://www.gentoo.org/
Description: Gentoo Cross-toolchain generator
|
Je ne comprends pas pourquoi crossdev s'entête à me construire des versions aussi vieilles (gcc 4.4.3 et glibc-2.14.1-r3) . Sur ma machine, en natif, gcc-4.5.3, mais la même version de glibc.
Je rentente donc la target "armv6j-hardfloat-linux-gnueabi"
Je génère sans l'option "-S", j'ai mis "-fortran" dans mon make.conf et les packages en keyword et en unmask :
Code: | coyote portage # cat /etc/portage/package.keywords/cross-armv6j-hardfloat-linux-gnueabi
cross-armv6j-hardfloat-linux-gnueabi/binutils arm ~arm -amd64 -~amd64
cross-armv6j-hardfloat-linux-gnueabi/gcc arm ~arm -amd64 -~amd64
cross-armv6j-hardfloat-linux-gnueabi/linux-headers arm ~arm -amd64 -~amd64
cross-armv6j-hardfloat-linux-gnueabi/glibc arm ~arm -amd64 -~amd64
cross-armv6j-hardfloat-linux-gnueabi/gdb arm ~arm -amd64 -~amd64
|
Code: | coyote portage # cat /etc/portage/package.unmask/cross-armv6j-hardfloat-linux-gnueabi
cross-armv6j-hardfloat-linux-gnueabi/binutils
cross-armv6j-hardfloat-linux-gnueabi/gcc
cross-armv6j-hardfloat-linux-gnueabi/linux-headers
cross-armv6j-hardfloat-linux-gnueabi/glibc
cross-armv6j-hardfloat-linux-gnueabi/gdb
|
J'ai mis mon emerge --info sur pastebin.com
Pourtant, c'est toujours gcc-4.4.3 qu'il tente de compiler... _________________ Core2Quad Q6600
ASUS P5B-V (i965 video intégrée)
~amd64 / KDE
|
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8723 Location: ~Brussels - Belgique
|
Posted: Mon Jul 23, 2012 10:16 am Post subject: |
|
|
Démasque gcc à la main (cross-armv6j-hardfloat-linux-gnueabi/gcc )
/etc/portage/package.keywords/my_crossdev_config: | <cross-armv6j-hardfloat-linux-gnueabi/gcc-9999 **
<cross-armv6j-hardfloat-linux-gnueabi/glibc-9999 ** |
/etc/portage/package.unmask/my_crossdev_config: | <cross-armv6j-hardfloat-linux-gnueabi/gcc-9999
<cross-armv6j-hardfloat-linux-gnueabi/glibc-9999 |
Et ainsi, tu auras gcc-4.7 et glibc-2.16:
Code: | # qlist -Iv armv6 crossdev
cross-armv6j-hardfloat-linux-gnueabi/binutils-2.22-r1
cross-armv6j-hardfloat-linux-gnueabi/gcc-4.7.1
cross-armv6j-hardfloat-linux-gnueabi/glibc-2.16.0
cross-armv6j-hardfloat-linux-gnueabi/linux-headers-3.5
sys-devel/crossdev-20120721 |
_________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
gbetous l33t
Joined: 15 Jan 2004 Posts: 679 Location: Toulouse
|
Posted: Tue Jul 24, 2012 7:21 pm Post subject: |
|
|
Bon bin c'est à n'y rien comprende, impossible de builder ce gcc 4.7.1
J'ai mis les unmask/keywords comme t'as dit, j'ai meme tenté en spécifiant directement les versions (crossdev -S -v -t armv6j-hardfloat-linux-gnueabi --g 4.7.1 --l 2.16.0 --b 2.22-r1), non, j'ai toujours un "vieux" gcc 4.4 qui se builde... _________________ Core2Quad Q6600
ASUS P5B-V (i965 video intégrée)
~amd64 / KDE
|
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8723 Location: ~Brussels - Belgique
|
Posted: Tue Jul 24, 2012 8:10 pm Post subject: |
|
|
Ne mets pas de flag "-S", qui signifie "Stable".
J'ai juste fait "crosdev -t armv6j-hardfloat-linux-gnueabi" et tout s'est bien passé.
Essaie peut-être de nettoyer l'environnement avec "crossdev -C", et vire les fichiers générés par crossdev dans /usr et /etc/portage/package.* _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
gbetous l33t
Joined: 15 Jan 2004 Posts: 679 Location: Toulouse
|
Posted: Wed Jul 25, 2012 5:57 am Post subject: |
|
|
Oui le -S j'ai vu, j'ai arrêté de le mettre (voir mon commentaire un peu au dessus)...
Est-ce que tu penses que c'est le fait que ma machine soit en "stable" ? _________________ Core2Quad Q6600
ASUS P5B-V (i965 video intégrée)
~amd64 / KDE
|
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8723 Location: ~Brussels - Belgique
|
Posted: Wed Jul 25, 2012 7:43 am Post subject: |
|
|
Je n'en ai aucune idée. Si tu passes su IRC, essaie d'exposer ton problème sur #gentoo-embed, ils sont très réactifs. _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
gbetous l33t
Joined: 15 Jan 2004 Posts: 679 Location: Toulouse
|
Posted: Wed Jul 25, 2012 7:00 pm Post subject: |
|
|
Ok merci du conseil.
Je reposterai ici quand j'aurai résolu. _________________ Core2Quad Q6600
ASUS P5B-V (i965 video intégrée)
~amd64 / KDE
|
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8723 Location: ~Brussels - Belgique
|
Posted: Wed Jul 25, 2012 8:17 pm Post subject: |
|
|
c'est #gentoo-embedded en fait _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
|