1 votes

psybnc sur nas : problème de ncurses

J'essaie de compiler psybnc sur le NAS. ipkg est le gestionnaire de paquets par défaut ici. J'ai déjà installé ncurses, il se trouve dans /opt/lib (libncurses.so).

[\w] # ls /opt/lib | grep ncurses
libncurses.so
libncurses.so.5
libncurses.so.5.7
libncursesw.so
libncursesw.so.5
libncursesw.so.5.7

[\w] # file libncurses.so.5.7
libncurses.so.5.7: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, stripped

J'ai ajouté ce chemin à /etc/profile

[\w] # echo $PATH     
/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:/opt/lib

En essayant de créer menuconfig, j'obtiens cette erreur

[\w] # make menuconfig
Initializing Menu-Configuration
[*] Running Conversion Tool for older psyBNC Data.
Using existent configuration File.
[*] Running Autoconfig.
System: Linux
Socket Libs: Internal.
Environment: Internal.
Time-Headers: in time.h and sys/time.h
Byte order: Big Endian.
IPv6-Support: Yes, general support. But no interface configured.
async-DNS-Support: Yes.
SSL-Support: No openssl found. Get openssl at www.openssl.org
Creating Makefile
[*] Creating Menu, please wait.
This needs the ncurses library. If it is not available, menuconf wont work. If you are using curses, use make menuconfig-curses instead.
make: *** [menuconfig] Error 1

Idem pour make menuconfig-curses

[\w] # make menuconfig-curses 
Initializing Menu-Configuration using Curses
[*] Running Conversion Tool for older psyBNC Data.
Using existent configuration File.
[*] Running Autoconfig.
System: Linux
Socket Libs: Internal.
Environment: Internal.
Time-Headers: in time.h and sys/time.h
Byte order: Big Endian.
IPv6-Support: Yes, general support. But no interface configured.
async-DNS-Support: Yes.
SSL-Support: No openssl found. Get openssl at www.openssl.org
Creating Makefile
[*] Creating Menu, please wait.
This needs the curses library. If it is not available, menuconf wont work.
make: *** [menuconfig-curses] Error 1

Psybnc compilé ok, je veux juste travailler avec menuconfig au lieu du fichier de configuration.

1voto

holms Points 1434

Avec l'aide de mon AMI, je sais enfin ce qui s'est passé.

Tout d'abord, ncurses-dev doit être installé sur le NAS si vous voulez compiler un paquet qui a des dépendances, vous avez besoin des en-têtes de ces dépendances et les paquets ncurses-dev en ont.

donc

ipkg install ncurses-dev

puis éditez Makefile dans votre répertoire source et ajoutez CFLAGS comme ceci :

CCFLAGS = -I/opt/include -I/opt/include/ncurses

ce chemin est le chemin des fichiers d'en-tête dont vous avez besoin, c'est pourquoi les outils autoconf ne pouvaient pas les trouver. mais vous devez mettre les cflags à gcc comme paramètre, parce que les autotools ignorent les variables surchargées...

donc j'ai juste ouvert Makefile et ajouté $(CCFLAGS) comme paramètre et c'est tout, maintenant ça marche ! !!

  $(CC) $(CCFLAGS) menuconf/menuconf.c menuconf/inputbox.c menuconf/util.c menuconf/checklist.c menuconf/menubox.c menuconf/textbox.c src/snprintf.c -I. -lncurses -lm -o menuconf/menuconf

0voto

pacey Points 3783

La bibliothèque curses n'est pas installée, puisque vous ne nous avez pas fourni d'informations sur le type de NAS (Modèle / Fournisseur), nous ne pouvons pas vous aider plus en détail.

S'il existe un paquetage de curses pour la distribution sur ce NAS de ce vendeur, vous pouvez l'installer.

Ou vous pouvez simplement utiliser la configuration et un éditeur de texte.

Mise à jour

Si vous êtes sûr d'avoir configuré les bibliothèques correctement, vous pouvez essayer de définir les paramètres suivants LD_LIBRARY_PATH manuellement pour /opt/lib . Jetez également un coup d'œil à la Makefile et rendre la ligne correspondante ($CC) plus verbeuse.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X