Compile o pacote sem instalar as bibliotecas necessárias

0

Eu tento compilar bluez-utils-3.36 , mas depois de tentar configurar o pacote, a mensagem de erro: configure: error: Bluetooth library is required apareceu.

O problema: Eu não tenho permissão para atualizar ou instalar qualquer coisa nesta máquina, apenas compilar. Então eu acho que a única maneira é apontar para as bibliotecas. Então eu escrevi ./configure -help e encontrei duas opções:

  BLUEZ_CFLAGS    C compiler flags for BLUEZ, overriding pkg-config

  BLUEZ_LIBS      linker flags for BLUEZ, overriding pkg-config

Então eu os adicionei ao meu comando e complementei o caminho:

./configure --prefix=/home/black/test/ltib/rootfs BLUEZ_CFLAGS=-I~/home/black/test/bluetooth/bluez-libs-3.36/include BLUEZ_LIBS="-L~/home/black/test/bluetooth/bluez-libs-3.36/src/.libs -lbluetooth"

Agora funcionou sem erros.

Mas se eu executar o comando make , recebo muitos erros, por exemplo:

glib-helper.c:34:33: error: bluetooth/bluetooth.h: Datei oder Verzeichnis nicht gefunden
glib-helper.c:35:30: error: bluetooth/rfcomm.h: Datei oder Verzeichnis nicht gefunden
glib-helper.c:36:29: error: bluetooth/l2cap.h: Datei oder Verzeichnis nicht gefunden
glib-helper.c:37:27: error: bluetooth/sco.h: Datei oder Verzeichnis nicht gefunden
glib-helper.c:38:27: error: bluetooth/sdp.h: Datei oder Verzeichnis nicht gefunden
glib-helper.c:39:31: error: bluetooth/sdp_lib.h: Datei oder Verzeichnis nicht gefunden

Datei oder Verzeichnis nicht gefunden é alemão e significa: folder or file not found

Como posso resolver isso?

    
por Black 06.08.2015 / 09:20

2 respostas

2

Acho que há um problema com os caminhos que você está fornecendo para o comando configure :

./configure --prefix=/home/black/test/ltib/rootfs \
BLUEZ_CFLAGS=-I~/home/black/test/bluetooth/bluez-libs-3.36/include \
BLUEZ_LIBS="-L~/home/black/test/bluetooth/bluez-libs-3.36/src/.libs -lbluetooth"

Quando o caractere ~ não tiver espaço em branco anterior, ele não se expandirá para o caminho para o seu diretório pessoal. Considere a saída de:

$ echo  -I~/foo
-I~/foo

Versus:

$ echo  -I ~/foo
-I /home/lars/foo

Você pode simplesmente substituir ~ por $HOME . Mesmo com essa correção, seus caminhos parecem suspeitos:

~/home/black/test/bluetooth/bluez-libs-3.36/include

Supondo que seu nome de usuário seja black , isso se expandirá para:

/home/black/home/black/test/...

O que parece ser incorreto.

Tente corrigir os caminhos -I e -L e re-execute o configure.

    
por 06.08.2015 / 13:41
0

Eu encontrei a solução por myselve. Copie a pasta "include" de bluez-libs-3.36 e mova a cópia para bluez-utils-3.36\common . Em seguida, renomeie a pasta copiada de "incluir" para "bluetooth". Agora deve compilar sem erros.

    
por 07.08.2015 / 09:54