błąd krytyczny: netlink / genl / genl.h: Brak takiego pliku lub katalogu


10

Jestem kompilatorem wielu hostapd dla openwrt. Dostaję fatal error: netlink/genl/genl.h: No such file or directory. Mam już zainstalowaną bibliotekę libnl-3.2.24. Jeśli skompiluję bezpośrednio (nie kompilację krzyżową), to hostapd kompiluje się poprawnie bez żadnego błędu.


2
Dla którego ŁUKU?
AB

Odpowiedzi:


23

Możesz wyszukać właściwy pakiet za pomocą tego polecenia:

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

W moim przypadku wynikiem jest:

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

Oznacza to, że muszę zainstalować pakiet libnl-3-dev:

sudo apt-get install libnl-3-dev

A ty potrzebujesz libnl-genl-3-dev

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

Następnie otwórz configplik:

nano hostap/hostapd/.config

i odkomentuj linię:

CONFIG_LIBNL32=y

Zacznij od makenowa.


„Jeśli skompiluję bezpośrednio (nie kompilację krzyżową), to hostapd kompiluje się poprawnie bez żadnego błędu.” - Wątpię, że OP nie ma tego pakietu.
muru

@muru Teraz to działa, właśnie przetestowane.
AB

kompilujesz się krzyżowo?
muru

@muru hmm, bez kompilacji krzyżowej. Dla jakiej architektury?
AB

@muru np. działa to:make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
AB

0

Plik nagłówka .../netlink/genl/genl.hznajduje się w libnl-3-devpakiecie

Zainstaluj za pomocą:

sudo apt-get install libnl-3-dev

„Jeśli skompiluję bezpośrednio (nie kompilację krzyżową), to hostapd kompiluje się poprawnie bez żadnego błędu.” - Wątpię, że OP nie ma tego pakietu.
muru

0

Upewnij się, że Twój zestaw narzędzi międzykompilatorowych ma libnl i libnl-genl. Upewnij się również, że twój projekt jest w stanie znaleźć biblioteki, na przykład używając poprawnych katalogów include i lib podczas budowania. Często kończę na ich określeniu za pomocą CFLAGS = "- I $ (STAGING_DIR) / usr / include" i LDFLAGS = "- L $ (STAGING_DIR) / usr / lib"

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.