psybnc on nas: ncurses problem

1

Tentando compilar o psybnc no NAS. O ipkg é o gerenciador de pacotes padrão aqui. Eu já instalei o ncurses, ele está em / 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

Adicionei este caminho ao / etc / profile

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

Então, tentar fazer o menuconfig me dá esse erro

[\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

O mesmo vale para 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 compilado ok, só quero trabalhar com o menuconfig em vez do arquivo de configuração.

    
por holms 09.02.2011 / 14:51

2 respostas

1

Com a ajuda do meu AMIGO, finalmente sei o que aconteceu.

Primeiro de tudo, o ncurses-dev precisa ser instalado no NAS se você quiser compilar qualquer pacote que tenha dependências, você precisa de cabeçalhos dessas dependências e pacotes ncurses-dev tê-los

então

ipkg install ncurses-dev

em seguida, edite o Makefile no diretório de origem e adicione CFLAGS assim:

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

este caminho é o caminho dos arquivos de cabeçalho que você precisa, é por isso que as ferramentas do autoconf não puderam encontrá-los. mas você precisa colocar cflags para gcc como param, porque autotools ingnores overrided variáveis ...

então eu acabei de abrir o Makefile e adicionei $ (CCFLAGS) como param e é isso, agora funciona !!

  $(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
    
por 10.02.2011 / 19:51
0

A biblioteca curses não está instalada, uma vez que você não nos forneceu as informações sobre o tipo de NAS (Model / Vendor), não podemos ajudá-lo mais detalhadamente.

Se houver um pacote de maldições para a Distribuição nesse NAS desse Fornecedor, você poderá instalá-lo.

Ou você apenas usaria a configuração e um editor de texto.

Atualizar

Se tiver certeza de que configurou as Bibliotecas corretamente, tente definir LD_LIBRARY_PATH manualmente como /opt/lib . Também dê uma olhada no Makefile e torne a linha correspondente ($ CC) mais detalhada.

    
por 09.02.2011 / 15:21