lỗi nghiêm trọng: netlink / genl / genl.h: Không có tệp hoặc thư mục như vậy


10

Tôi đang biên dịch chéo hostapd cho openwrt. Tôi đang nhận được fatal error: netlink/genl/genl.h: No such file or directory. Tôi đã cài đặt libnl-3.2.24. Nếu tôi trực tiếp biên dịch (không biên dịch chéo) thì hostapd đang biên dịch đúng mà không có lỗi.


2
Cho ARCH nào?
AB

Câu trả lời:


23

Bạn có thể tìm kiếm gói chính xác bằng lệnh này:

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

Trong trường hợp của tôi, đầu ra là:

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

Điều này có nghĩa, tôi phải cài đặt gói libnl-3-dev:

sudo apt-get install libnl-3-dev

Và bạn cần libnl-genl-3-dev

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

Sau đó mở configtệp:

nano hostap/hostapd/.config

và bỏ ghi chú dòng:

CONFIG_LIBNL32=y

Bắt đầu makelại.


"Nếu tôi trực tiếp biên dịch (không biên dịch chéo) thì hostapd đang biên dịch đúng mà không có bất kỳ lỗi nào." - Tôi nghi ngờ OP không có gói này.
muru

@muru Bây giờ nó hoạt động, chỉ cần thử nghiệm.
AB

bạn đang biên dịch chéo?
muru

@muru hmm, không biên dịch chéo. Cho kiến ​​trúc nào?
AB

@muru vd, điều này hoạt động:make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
AB

0

Các tập tin tiêu đề .../netlink/genl/genl.hđược tìm thấy trong libnl-3-devgói

Cài đặt nó bằng cách sử dụng:

sudo apt-get install libnl-3-dev

"Nếu tôi trực tiếp biên dịch (không biên dịch chéo) thì hostapd đang biên dịch đúng mà không có bất kỳ lỗi nào." - Tôi nghi ngờ OP không có gói này.
muru

0

Hãy chắc chắn rằng chuỗi công cụ biên dịch chéo của bạn có libnl và libnl-genl được xây dựng. Ngoài ra, hãy chắc chắn rằng dự án của bạn có thể tìm thấy các thư viện, ví dụ bằng cách sử dụng các thư mục bao gồm và lib chính xác khi xây dựng. Tôi thường kết thúc việc chỉ định chúng bằng cách sử dụng CFLAGS = "- I $ (STAGING_DIR) / usr / bao gồm" và LDFLAGS = "- L $ (STAGING_DIR) / usr / lib"

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.