kesalahan fatal: netlink / genl / genl.h: Tidak ada file atau direktori tersebut


10

Saya hostapd lintas-kompilasi untuk openwrt. Saya mendapatkan fatal error: netlink/genl/genl.h: No such file or directory. Saya sudah menginstal libnl-3.2.24. Jika saya langsung mengkompilasi (bukan kompilasi silang) maka hostapd mengkompilasi dengan benar tanpa kesalahan.


2
Untuk ARCH yang mana?
AB

Jawaban:


23

Anda dapat mencari paket yang benar dengan perintah ini:

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

Dalam kasus saya outputnya adalah:

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

Ini berarti, saya harus menginstal paket libnl-3-dev:

sudo apt-get install libnl-3-dev

Dan kamu butuh libnl-genl-3-dev

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

Kemudian buka configfile:

nano hostap/hostapd/.config

dan batalkan komentar pada baris:

CONFIG_LIBNL32=y

Mulai makelagi.


"Jika saya langsung mengkompilasi (bukan kompilasi silang) maka hostapd mengkompilasi dengan benar tanpa kesalahan." - Saya ragu OP tidak memiliki paket ini.
muru

@uru Sekarang berfungsi, baru saja diuji.
AB

Anda mengkompilasi silang?
muru

@uru hmm, tidak ada kompilasi silang. Untuk arsitektur apa?
AB

@uru misalnya, ini bekerja:make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
AB

0

File header .../netlink/genl/genl.hditemukan dalam libnl-3-devpaket

Instal menggunakan:

sudo apt-get install libnl-3-dev

"Jika saya langsung mengkompilasi (bukan kompilasi silang) maka hostapd mengkompilasi dengan benar tanpa kesalahan." - Saya ragu OP tidak memiliki paket ini.
muru

0

Pastikan bahwa toolchain lintas-kompiler Anda memiliki libnl, dan libnl-genl dibangun. Juga, pastikan bahwa proyek Anda dapat menemukan perpustakaan, misalnya dengan menggunakan direktori include dan lib yang benar saat membangun. Saya sering menentukannya dengan menggunakan CFLAGS = "- I $ (STAGING_DIR) / usr / include" dan LDFLAGS = "- L $ (STAGING_DIR) / usr / lib"

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.