ข้อผิดพลาดร้ายแรง: netlink / genl / genl.h: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว


10

ฉันกำลังรวบรวม hostapd สำหรับ openwrt fatal error: netlink/genl/genl.h: No such file or directoryฉันได้รับ ฉันติดตั้ง libnl-3.2.24 แล้ว ถ้า i คอมไพล์โดยตรง (ไม่ใช่การคอมไพล์ข้าม) hostapd จะทำการคอมไพล์อย่างถูกต้องโดยไม่มีข้อผิดพลาดใด ๆ


2
ARCH ตัวไหน
AB

คำตอบ:


23

คุณสามารถค้นหาแพ็คเกจที่ถูกต้องด้วยคำสั่งนี้:

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

ในกรณีของฉันผลลัพธ์คือ:

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

ซึ่งหมายความว่าฉันต้องติดตั้งแพคเกจlibnl-3-dev:

sudo apt-get install libnl-3-dev

และคุณต้องการ libnl-genl-3-dev

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

จากนั้นเปิดconfigไฟล์:

nano hostap/hostapd/.config

และยกเลิกหมายเหตุบรรทัด:

CONFIG_LIBNL32=y

เริ่มmakeใหม่อีกครั้ง


"ถ้าฉันคอมไพล์โดยตรง (ไม่ใช่การคอมไพล์ข้าม) hostapd จะคอมไพล์อย่างถูกต้องโดยไม่มีข้อผิดพลาด" - ฉันสงสัยว่า OP ไม่มีแพ็คเกจนี้
muru

@muru ตอนนี้ใช้งานได้แค่ทดสอบ
AB

คุณกำลังรวบรวมข้าม?
muru

@ muru hmm ไม่มีการคอมไพล์ข้าม สถาปัตยกรรมแบบไหน?
AB

@muru เช่นงานนี้:make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
AB

0

พบไฟล์ส่วนหัว.../netlink/genl/genl.hในlibnl-3-devแพ็คเกจ

ติดตั้งโดยใช้:

sudo apt-get install libnl-3-dev

"ถ้าฉันคอมไพล์โดยตรง (ไม่ใช่การคอมไพล์ข้าม) hostapd จะคอมไพล์อย่างถูกต้องโดยไม่มีข้อผิดพลาด" - ฉันสงสัยว่า OP ไม่มีแพ็คเกจนี้
muru

0

ตรวจสอบให้แน่ใจว่า toolchain ไขว้คอมไพเลอร์ของคุณมีการสร้าง libnl และ libnl-genl นอกจากนี้ตรวจสอบให้แน่ใจว่าโครงการของคุณสามารถค้นหาไลบรารีได้เช่นโดยใช้ไดเร็กทอรี include และ lib ที่ถูกต้องเมื่อสร้าง ฉันมักจะจบลงด้วยการระบุพวกเขาโดยใช้ CFLAGS = "- I $ (STAGING_DIR) / usr / include" และ LDFLAGS = "- L $ (STAGING_DIR) / usr / lib"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.