Cross compiling htop libncursesw não encontrado

4

Estou tentando cruzar a compilação htop em uma máquina x86 Ubuntu 13.10 para arquitetura Raspberry Pi ARM. Eu tenho um toolchain crosstool-ng configurado corretamente, mas quando eu uso o comando:

./configure CC=/home/fb/crosstool-ng/toolchains/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc CXX=/home/fb/crosstool-ng/toolchains/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-g++ --host=arm-rpi-linux-gnueabihf --build=i686-pc-linux-gnu --target=arm-rpi-linux-gnueabihf

Eu recebo este erro:

checking for refresh in -lncursesw... no configure: error: You may want to use --disable-unicode or install libncursesw.

Se eu usar o ./configure na máquina x86, o procedimento funcionará, porque libncursesw5 e libncursesw5-dev estão instalados. O mesmo no Raspberry Pi. Se eu iniciar o ./configure, então funciona.

Eu tentei especificar a localização das bibliotecas com o LDFLAGS , mas recebo sempre o mesmo erro.

Onde devo colocar essas bibliotecas? Ou qual é o problema na compilação cruzada?

    
por Cheshire Cat 12.01.2014 / 16:15

1 resposta

2

Do que eu posso reunir, você tem x86 compilado libncursesw5 na máquina x86 e ARM compilado libncursesw5 no Rpi.

O que você precisa é o ARM compilado libncursesw5 na máquina x86. Quando você executa o comando ./configure , a etapa em que encontra o erro está compilando um pequeno programa para vincular com libncursesw5 para testar sua existência. Você compilador cruzado ARM não pode vincular à biblioteca x86, e isso é o que causa o erro.

Você pode corrigir isso colocando a biblioteca libncurses5w do Rpi em seu ambiente de compilação cruzada x86 ou pode compilar libncursesw5 da origem na máquina x86 usando o compilador cruzado ARM.

    
por 12.01.2014 / 17:44