View previous topic :: View next topic |
Author |
Message |
zerros Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 02 Jun 2010 Posts: 179
|
Posted: Tue Jan 03, 2012 3:26 pm Post subject: [résolu] [crossdev] cross compilation arm |
|
|
Bonjour,
je voudrai cross-compiler un petit utilitaire pour un sheevaplug (arm) sur ma gentoo, et j'ai installé il y a quelques temps déjà la toolchaine
qui va bien: armv5tel-softfloat-linux-gnueabi
Quand je lance la compilation, il me sort une erreur :
Code: | erreur fatale: openssl/aes.h : Aucun fichier ou dossier de ce type |
Après vérification dans la toolchaine, effectivement, pas de répertoire openssl !!
Comment puis-je ajouter les manquants ? Un simple lien depuis les headers de ma machine suffirait ?
J'espère que vous pourrez m'aider. _________________ - zerros -
Last edited by zerros on Wed Jan 18, 2012 9:42 am; edited 1 time in total |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
k-root Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/13635817384f5c903be47fd.jpg)
Joined: 08 Jan 2005 Posts: 428
|
Posted: Tue Jan 03, 2012 6:41 pm Post subject: |
|
|
la compilation de quoi ? d'un kernel de openssh d'un jeux pour windows ? .. quel command execute tu ?
http://dev.gentoo.org/~armin76/arm/sheevaplug/install.xml _________________
boozo wrote: | Gentoo, ça mange des ours et baffe des buffles par 37°C avec un bob et des tongs |
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
zerros Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 02 Jun 2010 Posts: 179
|
Posted: Tue Jan 03, 2012 7:31 pm Post subject: |
|
|
J'essaie de compiler oscam pour le sheeva. J'ai installé la toolchain avec crossdev:
crossdev armv5tel-softfloat-linux-gnueabi
Je compile oscam de la sorte:
Code: | cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/toolchain-arm-sheeva.cmake .. |
Le fichier cmake contient:
Code: | set (OSCAM_SYSTEM_NAME SHEEVA)
set (CMAKE_SYSTEM_NAME Linux)
set (CMAKE_C_COMPILER armv5tel-softfloat-linux-gnueabi-gcc)
set (CMAKE_SYSTEM_PROCESSOR arm) |
log de compilation:
Code: | System is unknown to cmake, create:
Platform/linux to use this system, please send your config file to cmake@www.cmake.org so it can be added to cmake
Your CMakeCache.txt file was copied to CopyOfCMakeCache.txt. Please send that file to cmake@www.cmake.org.
-- Unknown cross system name: <linux>
-- pthread found. Adding pthread support
-- openssl not found.
FATAL ssl support requested but not found!
-- librt found (needed by libusb).
-- no libusb 1.0 found. No smartreader support
--
-- operating system: Unknown
-- system type: arm-unknown-unknown
-- system: unknown
-- cpu: arm
-- hw: unknown
-- use built-in crypt functions
-- use system pthread functions
--
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_TOOLCHAIN_FILE
-- Build files have been written to: /opt/oscam-svn-arm/build |
On voit qu'il y a plusieurs lib qu'il ne trouve pas dont l'openssl et libusb qui sont installé sur mon PC:
Code: | [I] dev-libs/openssl
Available versions:
(0.9.8) 0.9.8r{tbz2}
(0) 1.0.0d{tbz2} 1.0.0e{tbz2} (~)1.0.0e-r1{tbz2}
{bindist gmp kerberos rfc3779 sse2 static-libs test zlib}
Installed versions: 0.9.8r(0.9.8){tbz2}(11:35:39 13/03/2011)(zlib -bindist -gmp -kerberos -sse2 -test) 1.0.0e-r1{tbz2}(17:49:30 14/12/2011)(zlib -bindist -gmp -kerberos -rfc3779 -sse2 -static-libs -test)
Homepage: http://www.openssl.org/
Description: full-strength general purpose cryptography library (including SSL v2/v3 and TLS v1)
[I] dev-libs/libusb
Available versions:
(0) 0.1.12-r5!t (~)0.1.12-r6!t 0.1.12-r7!t{tbz2}
(1) 1.0.8{tbz2}
{+cxx debug doc nocxx static-libs}
Installed versions: 0.1.12-r7!t{tbz2}(09:23:02 22/12/2011)(cxx static-libs -debug -doc) 1.0.8(1){tbz2}(17:12:26 18/12/2011)(static-libs -debug -doc)
Homepage: http://libusb.org/
Description: Userspace access to USB devices
[I] virtual/libusb
Available versions:
(0) 0{tbz2}
(1) 1{tbz2}
Installed versions: 0{tbz2}(15:12:25 12/03/2011) 1(1){tbz2}(16:44:38 12/03/2011)
Description: Virtual for libusb |
Je pense que c'est libs ont été omis lors de l'installation de la toolchain. Mais comment y remédier ? _________________ - zerros - |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
xaviermiller Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/18949772545903151f2312b.jpg)
Joined: 23 Jul 2004 Posts: 8723 Location: ~Brussels - Belgique
|
Posted: Tue Jan 03, 2012 8:49 pm Post subject: |
|
|
Salut,
C'est une compilation à la main ? Si oui, mentionnes-tu correctement les paramètres de cross-compilation host, target, build ?
Sinon,utilises-tu cross-emerge ? En l'occurence armv5tel-softfloat-linux-gnueabi-emerge ? _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
zerros Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 02 Jun 2010 Posts: 179
|
Posted: Tue Jan 03, 2012 8:55 pm Post subject: |
|
|
J'ai suivi ce tuto que j'ai arrangé à la mode gentoo pour la toolchain:
Code: | http://streamboard.gmc.to:8001/wiki/crosscompiling |
La partie compilation est la même, sauf que je n'utilise pas leurs toolchains qui ne sont apparemment pas bonnes pour le sheeva.
Du coup j'ai installé ma toolchain via crossdev.
Par contre je ne connais pas la technique cross-emerge ? _________________ - zerros - |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
xaviermiller Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/18949772545903151f2312b.jpg)
Joined: 23 Jul 2004 Posts: 8723 Location: ~Brussels - Belgique
|
Posted: Wed Jan 04, 2012 9:18 pm Post subject: |
|
|
Cross-emerge cross-compile avec les outils de Portage (emerge donc). C'est le panard intégral.
Excepté perl en cross-compil.. _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
k-root Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/13635817384f5c903be47fd.jpg)
Joined: 08 Jan 2005 Posts: 428
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
xaviermiller Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/18949772545903151f2312b.jpg)
Joined: 23 Jul 2004 Posts: 8723 Location: ~Brussels - Belgique
|
Posted: Wed Jan 04, 2012 10:28 pm Post subject: |
|
|
Oui, notre ami connaît crossdev vu qu'il l'a installé, mais ne savait pas que crossdev installe plein de cross-truc-machins utiles ![Wink ;)](images/smiles/icon_wink.gif) _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
zerros Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 02 Jun 2010 Posts: 179
|
Posted: Thu Jan 05, 2012 8:10 am Post subject: |
|
|
bonjour,
oui, j'ai finalement vu tout ça quand j'ai remarqué des nouvelles entrées dans mon fichier package.use
Finalement j'ai fini par tout virer pour tout recommencer !
Bon j'ai mon crossdev installé et également cross-emerge. Comment installer ma toolchain pour qu'elle intègre toutes les libs que j'ai besoin
pour arm (openssl, libusb, etc.) ?
Jusqu'à présent je faisais un crossdev armv5tel-softfloat-linux-gnueabi, et il prenait le temps de tout installer, pour au final me retrouver avec des erreurs
car il manquait les libs openssl, libusb etc.
Je veux bien passer par cross-emerge que je ne connait pas, mais :
Code: | xxx@xxx [ ~ ] :: man cross-emerge
Il n'y a pas de page de manuel pour cross-emerge. |
_________________ - zerros - |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
xaviermiller Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/18949772545903151f2312b.jpg)
Joined: 23 Jul 2004 Posts: 8723 Location: ~Brussels - Belgique
|
Posted: Thu Jan 05, 2012 11:42 am Post subject: |
|
|
c'est XXXXX-emerge
Emerge t'installera normalement ce qu'il faut. Si les dépendences ne s'activent pas, il faudra jouer avec --with-bdeps ou --root-deps _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
zerros Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 02 Jun 2010 Posts: 179
|
Posted: Thu Jan 05, 2012 1:41 pm Post subject: |
|
|
ok, alors si je comprend bien, il suffit d'installer openssl pour la toolchaine installée par crossdev ??
CHOST=armv5tel-softfloat-linux-gnueabi cross-emerge openssl
Je ne pige pas me fonctionnement et je ne trouve pas vraiment de doc lié à cette méthode. Auriez-vous un exemple concret à me donner svp ? _________________ - zerros - |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
xaviermiller Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/18949772545903151f2312b.jpg)
Joined: 23 Jul 2004 Posts: 8723 Location: ~Brussels - Belgique
|
Posted: Thu Jan 05, 2012 2:15 pm Post subject: |
|
|
non, ce n'est pas cross-emerge !!!
Mais arm-truc-muche-emerge
Les dépendances seront gérées comme dans ton installation normale, donc tu n'emerges que les paquets "end user", et les dépendances (dont openssl) devraient remonter automatiquement.
Si tu as besoin d'un chroot complet, voire bootable, il faut générer d'abord le stage 1 (je te l'explique si nécessaire ) _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
zerros Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 02 Jun 2010 Posts: 179
|
Posted: Thu Jan 05, 2012 3:10 pm Post subject: |
|
|
XavierMiller wrote: | non, ce n'est pas cross-emerge !!!
Mais arm-truc-muche-emerge
Les dépendances seront gérées comme dans ton installation normale, donc tu n'emerges que les paquets "end user", et les dépendances (dont openssl) devraient remonter automatiquement.
Si tu as besoin d'un chroot complet, voire bootable, il faut générer d'abord le stage 1 (je te l'explique si nécessaire ) |
Ok, alors je devrai faire:
Code: | armv5tel-softfloat-linux-gnueabi-emerge openssl |
Pour le stage1, pas de soucis, j'ai bien compris. J'ai installé le sheeva à l'origine, alors je pense m'en sortir pour un chroot complet
Là ma préoccupation est juste de compiler un package pour une autre arch :p
Bon quand je lance la commande, il me renvoi ça:
Code: | root@xxx [ ~ ] :: armv5tel-softfloat-linux-gnueabi-emerge -av openssl
!!! /usr/armv5tel-softfloat-linux-gnueabi/etc/make.profile is not a symlink and will probably prevent most merges.
!!! It should point into a profile within /usr/portage/profiles/
!!! (You can safely ignore this message when syncing. It's harmless.)
* IMPORTANT: 1 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] sys-apps/coreutils-8.14 to /usr/armv5tel-softfloat-linux-gnueabi/ USE="-acl -caps -gmp -nls (-selinux) -static -unicode -vanilla -xattr" 0 kB
[ebuild N ] sys-apps/debianutils-4.1 to /usr/armv5tel-softfloat-linux-gnueabi/ USE="-static" 0 kB
[ebuild N ] dev-libs/openssl-1.0.0f to /usr/armv5tel-softfloat-linux-gnueabi/ USE="bindist zlib -gmp -kerberos -rfc3779 -sse2 -static-libs -test" 0 kB
[ebuild N ] app-misc/ca-certificates-20111025 to /usr/armv5tel-softfloat-linux-gnueabi/ 0 kB
Total: 4 packages (4 new), Size of downloads: 0 kB
Would you like to merge these packages? [Yes/No] |
impecc il va chercher les dépendances. Par contre il finit par planter:
Code: | checking whether fstatat (..., 0) works... configure: error: in `/usr/armv5tel-softfloat-linux-gnueabi/tmp/portage/sys-apps/coreutils-8.14/work/coreutils-8.14':
configure: error: cannot run test program while cross compiling
See `config.log' for more details
!!! Please attach the following file when seeking support:
!!! /usr/armv5tel-softfloat-linux-gnueabi/tmp/portage/sys-apps/coreutils-8.14/work/coreutils-8.14/config.log
* ERROR: sys-apps/coreutils-8.14 failed (configure phase):
* econf failed
*
* Call stack:
* ebuild.sh, line 75: Called src_configure
* environment, line 2432: Called econf '--with-packager=Gentoo' '--with-packager-version=8.14 (p1)' '--with-packager-bug-reports=http://bugs.gentoo.org/' '--enable-install-program=arch' '--enable-no-install-program=groups,hostname,kill,su,uptime' '--enable-largefile' '--disable-libcap' '--disable-nls' '--disable-acl' '--disable-xattr' '--without-gmp'
* phase-helpers.sh, line 467: Called die
* The specific snippet of code:
* die "econf failed"
*
* If you need support, post the output of 'emerge --info =sys-apps/coreutils-8.14',
* the complete build log and the output of 'emerge -pqv =sys-apps/coreutils-8.14'.
* The complete build log is located at '/usr/armv5tel-softfloat-linux-gnueabi/tmp/portage/sys-apps/coreutils-8.14/temp/build.log'.
* The ebuild environment file is located at '/usr/armv5tel-softfloat-linux-gnueabi/tmp/portage/sys-apps/coreutils-8.14/temp/environment'.
* S: '/usr/armv5tel-softfloat-linux-gnueabi/tmp/portage/sys-apps/coreutils-8.14/work/coreutils-8.14'
>>> Failed to emerge sys-apps/coreutils-8.14 for /usr/armv5tel-softfloat-linux-gnueabi/, Log file:
>>> '/usr/armv5tel-softfloat-linux-gnueabi/tmp/portage/sys-apps/coreutils-8.14/temp/build.log'
* Messages for package sys-apps/coreutils-8.14 merged to /usr/armv5tel-softfloat-linux-gnueabi/:
* ERROR: sys-apps/coreutils-8.14 failed (configure phase):
* econf failed
*
* Call stack:
* ebuild.sh, line 75: Called src_configure
* environment, line 2432: Called econf '--with-packager=Gentoo' '--with-packager-version=8.14 (p1)' '--with-packager-bug-reports=http://bugs.gentoo.org/' '--enable-install-program=arch' '--enable-no-install-program=groups,hostname,kill,su,uptime' '--enable-largefile' '--disable-libcap' '--disable-nls' '--disable-acl' '--disable-xattr' '--without-gmp'
* phase-helpers.sh, line 467: Called die
* The specific snippet of code:
* die "econf failed"
*
* If you need support, post the output of 'emerge --info =sys-apps/coreutils-8.14',
* the complete build log and the output of 'emerge -pqv =sys-apps/coreutils-8.14'.
* The complete build log is located at '/usr/armv5tel-softfloat-linux-gnueabi/tmp/portage/sys-apps/coreutils-8.14/temp/build.log'.
* The ebuild environment file is located at '/usr/armv5tel-softfloat-linux-gnueabi/tmp/portage/sys-apps/coreutils-8.14/temp/environment'.
* S: '/usr/armv5tel-softfloat-linux-gnueabi/tmp/portage/sys-apps/coreutils-8.14/work/coreutils-8.14'
* IMPORTANT: 1 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.
|
Je dois louper quelque chose quelque part !! _________________ - zerros - |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
xaviermiller Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/18949772545903151f2312b.jpg)
Joined: 23 Jul 2004 Posts: 8723 Location: ~Brussels - Belgique
|
Posted: Thu Jan 05, 2012 6:42 pm Post subject: |
|
|
C'est normal : certaines versions de paquets ne cross-compilent pas en instable.
Voici mon package.mask (à mettre dans /usr/arm-trucmuche/etc/portage) ;
/usr/armv7a-hardfloat-linux-gnueabi/etc/portage/package.mask: |
#juste parce que j'aime pas python =:o)>
>=dev-lang/python-3
>=sys-apps/util-linux-2.19
=sys-apps/sysvinit-2.88-r3
>=sys-apps/coreutils-8.13
|
Et pour ignorer perl :
/usr/armv7a-hardfloat-linux-gnueabi/etc/portage/profile/package.provided: |
dev-lang/perl-5.12.4
|
Il faudra probablement ajouter libperl, mais je suis pour le moment à faire un stage 1, qui est presque fini (ça plante sur python, je vais creuser après le bain du petit...) _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
xaviermiller Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/18949772545903151f2312b.jpg)
Joined: 23 Jul 2004 Posts: 8723 Location: ~Brussels - Belgique
|
Posted: Thu Jan 05, 2012 7:36 pm Post subject: |
|
|
Et pour python:
_________________ Kind regards,
Xavier Miller |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
zerros Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
Joined: 02 Jun 2010 Posts: 179
|
Posted: Wed Jan 18, 2012 9:42 am Post subject: |
|
|
dsl pour le temps de réponse, j'ai été pas mal occupé ces derniers temps.
Ok, j'ai compris que python a un bug. Pas grave, j'ai cross compilé sur une debian pour ne pas trop trifouiller mon PC qui stable depuis un certain temps.
Tout roule
Merci pour les infos en tout cas. Je dormirai moins bête ce soir lol ![Smile :)](images/smiles/icon_smile.gif) _________________ - zerros - |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|