2017-09-27 3 views
1

J'ai des ncurses croisées compilées, cela semble être facile.comment cross-compiler libncursesw5-dev pour le bras?

./configure --host=arm-linux-gnue --prefix=/home/ncurse 

alors:

make 

ensuite copier tout le contenu de répertoire préfixe dans l'emplacement accumulation sysroot correspondant, qui est l'accumulation sysroot de mon compilateur croisé.

Alors j'ai essayé de compiler nano:

./configure --host=arm-linux-gnue --prefix=/home/nano 

puis

make 

Il me remarque qu'il ne peut pas trouver le dossier ncursesw.

Ensuite, j'ai remarqué que le dossier include et libs de libncursesw5-dev (je l'ai obtenu d'Ubuntu par apt-get not mais compilé) sont différents de ncurses. Par exemple, sous le répertoire/include, les ncurses auront un dossier appelé ncurses, et libncursesw5-dev aura un dossier appelé ncursesw. Les fichiers sont également différents.

J'ai recherché la source de libncursesw5-dev, elle m'a redirigé vers la page du paquet debian. où je peux seulement trouver la source de ncurses.

Y at-il un moyen de trouver la source de libncursesw5-dev? Ou les ai-je vraiment mal corrigés? Ou quelle est exactement la relation entre ces deux?

+0

Comment avez-vous cross-compile 'ncurses' et comment l'avez-vous installé? Comment avez-vous compilé votre code en l'utilisant? Editez votre question pour montrer les commandes réelles (avec quatre espaces au début de chaque ligne de commande) que vous avez utilisé pour cela –

+0

@BasileStarynkevitch thnx. Je l'ai mis à jour. –

+0

Vous n'en dites pas assez (comment avez-vous installé 'ncurses', comment avez-vous compilé votre code en l'utilisant), ou vous avez le' --prefix = 'mal. Ce devrait être un chemin de répertoire * absolu * et 'xxx' est un chemin relatif. Mieux vaut donner les commandes * réelles * dans la question –

Répondre

0

Vous utiliserez mieux le préfixe pour toutes vos compilations croisées autoconf. Par exemple

./configure --host=arm-linux-gnue --prefix=$HOME/armstuff 

Pour les deux ncurses et nano

Peut-être que vous avez besoin de dire toutes les compilations de regarder sous $HOME/armstuff/include pour comprend et sous $HOME/armstuff/lib pour les bibliothèques, par exemple par en ajoutantCFLAGS+=-I$HOME/armstuff/include et LDFLAGS+=-L$HOME/armstuff/lib aux deux commandes configure.

BTW, vous pouvez regarder les Makefile -s générés par configure et vous pourriez construire avec CFLAGS+=-H pour demander au compilateur GCC pour afficher tous les fichiers inclus (pour comprendre ce qui se passe au moment de la construction exactement).

Puis copié tout le contenu du répertoire de préfixes dans l'emplacement de build-sysroot correspondant, qui est le build-sysroot de mon compilateur croisé.

Je ne comprends pas ce que vous avez fait (et build-sysroot est lié à configure, et devrait lui être passé).

Je suggère d'installer avec par ex.

make install DESTDIR=/tmp/arminst/ 

liste, puis soigneusement le contenu de /tmp/arminst et le copier sagement avec quelques cp -va (mais le respect préfixe ...). Enfin, la lecture de Linux From Scratch devrait être utile, et étudier les paquets dpkg aussi; Regardez également dans GNU stow.

Y at-il un moyen de trouver la source de libncursesw5-dev?

Il est ncurses, mais vous devez comprendre comment le paquet est construit. Peut-être apprendre à utiliser apt-build