erro fatal: netlink / genl / genl.h: Esse arquivo ou diretório não existe

10

Estou compilando o hostapd para openwrt. Eu estou recebendo fatal error: netlink/genl/genl.h: No such file or directory. Eu já tenho o libnl-3.2.24 instalado. Se eu compilar diretamente (não compilar em cruz), o hostapd estará compilando corretamente sem nenhum erro.

Rafal
fonte
2
Para qual ARCH?
AB

Respostas:

23

Você pode procurar o pacote correto com este comando:

apt-file search /netlink/genl/genl.h

No meu caso, a saída é:

libnl-3-dev: /usr/include/libnl3/netlink/genl/genl.h

Isso significa que eu tenho que instalar o pacote libnl-3-dev:

sudo apt-get install libnl-3-dev

E você precisa libnl-genl-3-dev

sudo apt-get install libnl-genl-3-dev

Em seguida, abra o configarquivo:

nano hostap/hostapd/.config

e descomente a linha:

CONFIG_LIBNL32=y

Comece makenovamente.

AB
fonte
"Se eu compilar diretamente (não compilar), o hostapd estará compilando corretamente sem nenhum erro." - Duvido que o OP não tenha este pacote.
Muru
Agora, ele funciona, apenas testado.
AB
você está compilando?
muru
@muru hmm, sem compilação cruzada. Para qual arquitetura?
AB
@muru, por exemplo, isso funciona:make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
AB
0

O arquivo de cabeçalho .../netlink/genl/genl.hé encontrado no libnl-3-devpacote

Instale-o usando:

sudo apt-get install libnl-3-dev
Maythux
fonte
"Se eu compilar diretamente (não compilar), o hostapd estará compilando corretamente sem nenhum erro." - Duvido que o OP não tenha este pacote.
Muru
0

Certifique-se de que sua cadeia de ferramentas de compilador cruzado tenha libnl e libnl-genl criadas. Além disso, verifique se o seu projeto é capaz de localizar as bibliotecas, por exemplo, usando os diretórios include e lib corretos ao criar. Geralmente acabo especificando-os usando CFLAGS = "- I $ (STAGING_DIR) / usr / include" e LDFLAGS = "- L $ (STAGING_DIR) / usr / lib"

Andreas Søvik Nilsen
fonte