Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[résolu] [crossdev] cross compilation arm
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
zerros
Apprentice
Apprentice


Joined: 02 Jun 2010
Posts: 179

PostPosted: Tue Jan 03, 2012 3:26 pm    Post subject: [résolu] [crossdev] cross compilation arm Reply with quote

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
View user's profile Send private message
k-root
Guru
Guru


Joined: 08 Jan 2005
Posts: 428

PostPosted: Tue Jan 03, 2012 6:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
zerros
Apprentice
Apprentice


Joined: 02 Jun 2010
Posts: 179

PostPosted: Tue Jan 03, 2012 7:31 pm    Post subject: Reply with quote

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
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8723
Location: ~Brussels - Belgique

PostPosted: Tue Jan 03, 2012 8:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
zerros
Apprentice
Apprentice


Joined: 02 Jun 2010
Posts: 179

PostPosted: Tue Jan 03, 2012 8:55 pm    Post subject: Reply with quote

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
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8723
Location: ~Brussels - Belgique

PostPosted: Wed Jan 04, 2012 9:18 pm    Post subject: Reply with quote

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
View user's profile Send private message
k-root
Guru
Guru


Joined: 08 Jan 2005
Posts: 428

PostPosted: Wed Jan 04, 2012 10:25 pm    Post subject: Reply with quote

http://gentoo-portage.com/sys-devel/crossdev
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8723
Location: ~Brussels - Belgique

PostPosted: Wed Jan 04, 2012 10:28 pm    Post subject: Reply with quote

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 ;)
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
zerros
Apprentice
Apprentice


Joined: 02 Jun 2010
Posts: 179

PostPosted: Thu Jan 05, 2012 8:10 am    Post subject: Reply with quote

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
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8723
Location: ~Brussels - Belgique

PostPosted: Thu Jan 05, 2012 11:42 am    Post subject: Reply with quote

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
View user's profile Send private message
zerros
Apprentice
Apprentice


Joined: 02 Jun 2010
Posts: 179

PostPosted: Thu Jan 05, 2012 1:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8723
Location: ~Brussels - Belgique

PostPosted: Thu Jan 05, 2012 2:15 pm    Post subject: Reply with quote

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
View user's profile Send private message
zerros
Apprentice
Apprentice


Joined: 02 Jun 2010
Posts: 179

PostPosted: Thu Jan 05, 2012 3:10 pm    Post subject: Reply with quote

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
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8723
Location: ~Brussels - Belgique

PostPosted: Thu Jan 05, 2012 6:42 pm    Post subject: Reply with quote

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
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8723
Location: ~Brussels - Belgique

PostPosted: Thu Jan 05, 2012 7:36 pm    Post subject: Reply with quote

Et pour python:
manaru wrote:
Hi,

Its
https://bugs.gentoo.org/show_bug.cgi?id=362945

Solution:

/usr/i586-alix-linux-gnu/etc/portage/env/dev-lang/python:

export ac_cv_have_long_long_format=yes[/code]

_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
zerros
Apprentice
Apprentice


Joined: 02 Jun 2010
Posts: 179

PostPosted: Wed Jan 18, 2012 9:42 am    Post subject: Reply with quote

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 :)
_________________
- zerros -
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum