Referência indefinida ao símbolo 'acs_map' ao executar o makeconfig

3

Eu recebo um erro de vinculador quando tento configurar o kernel do Linux com menuconfig :

# make menuconfig
  HOSTLD  scripts/kconfig/mconf
/usr/local/bin/ld: scripts/kconfig/lxdialog/checklist.o: undefined reference to symbol 'acs_map'
/usr/local/bin/ld: note: 'acs_map' is defined in DSO /lib/libtinfo.so.5 so try adding it to the linker command line
/lib/libtinfo.so.5: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[1]: *** [scripts/kconfig/mconf] Error 1
make: *** [menuconfig] Error 2

Alguma ideia do que há de errado com isso? Estou rodando o CentOS 6.2 e tenho certeza que instalei todas as bibliotecas necessárias.

    
por Michael Mrozek 01.02.2012 / 03:22

2 respostas

6

Depois de atualizar o binutils para o 2.22, encontrei o mesmo problema. Eu resolvi adicionando a seguinte linha em scripts / kconfig / Makefile :

HOSTLOADLIBES_mconf     = -ltinfo

Aparentemente, uma mudança no vinculador não inclui mais bibliotecas para você de graça; você deve vincular explicitamente todas as bibliotecas que seu aplicativo precisa. Para mais informações, consulte o seguinte: Alteração do link do DSO

para o kernel 3.2.58, inclua o -ltinfo no final da linha HOSTLOADLIBES_mconf; então o original:

HOSTLOADLIBES_mconf   = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))

se tornará:

HOSTLOADLIBES_mconf   = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC)) -ltinfo
    
por 18.04.2012 / 00:40
0

Você tentou fazer uma ligação simbólica entre libncurses.so. e libtinfo.so.?

cd /lib
ln -s /usr/lib/libncurses.so.5 /usr/lib/libtinfo.so.5

O nome libncurses lib pode depender da sua versão.

    
por 01.02.2012 / 05:23