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.

Rafal
sumber
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.

AB
sumber
"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
Maythux
sumber
"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"

Andreas Søvik Nilsen
sumber