book@ubuntu:/work/project/wifi/04.hostapd/hostapd-2.0/hostapd$ make

/usr/bin/ld: cannot find -lnl

collect2: ld returned 1 exit status

make: *** [hostapd] Error 1



问题原因是,没有找到 nl 库 !

然后我搜索 这个 nl 库是在哪儿被使用的:

book@ubuntu:/work/project/wifi/04.hostapd/hostapd-2.0$ grep "\-lnl" * -nR

src/drivers/drivers.mak:31:  DRV_LIBS += -lnl-3

src/drivers/drivers.mak:32:  DRV_LIBS += -lnl-genl-3

src/drivers/drivers.mak:36:    DRV_LIBS += -lnl-tiny

src/drivers/drivers.mak:38:    DRV_LIBS += -lnl

src/drivers/drivers.mak:42:    DRV_LIBS += -lnl-genl

src/drivers/drivers.mak:148:  DRV_LIBS += -lnl-3

src/drivers/drivers.mak:149:  DRV_LIBS += -lnl-genl-3

src/drivers/drivers.mak:150:  DRV_LIBS += -lnl-route-3

src/drivers/drivers.mak:154:    DRV_LIBS += -lnl-tiny

src/drivers/drivers.mak:156:    DRV_LIBS += -lnl

src/drivers/drivers.mak:160:    DRV_LIBS += -lnl-genl

src/drivers/drivers.mak:161:    DRV_LIBS += -lnl-route

src/drivers/drivers.mk:31:  DRV_LIBS += -lnl-3

src/drivers/drivers.mk:32:  DRV_LIBS += -lnl-genl-3

src/drivers/drivers.mk:36:    DRV_LIBS += -lnl-tiny

src/drivers/drivers.mk:38:    DRV_LIBS += -lnl

src/drivers/drivers.mk:42:    DRV_LIBS += -lnl-genl

src/drivers/drivers.mk:152:  DRV_LIBS += -lnl-3

src/drivers/drivers.mk:153:  DRV_LIBS += -lnl-genl-3

src/drivers/drivers.mk:154:  DRV_LIBS += -lnl-route-3

src/drivers/drivers.mk:158:    DRV_LIBS += -lnl-tiny

src/drivers/drivers.mk:160:    DRV_LIBS += -lnl

src/drivers/drivers.mk:164:    DRV_LIBS += -lnl-genl

src/drivers/drivers.mk:165:    DRV_LIBS += -lnl-route









然后,我们查看交叉编译库里 有没有  nl 的库

/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib

然后,发现里面有这个库。

book@ubuntu:/work/project/wifi/04.hostapd/hostapd-2.0$ ls /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib
engines libnl libnsl.so.1
jconfig.h libnl-3.a libnss_compat-2.8.so
jerror.h libnl-3.la libnss_compat.so.2
jmorecfg.h libnl-3.so libnss_dns-2.8.so
jpeglib.h libnl-3.so.200 libnss_dns.so.2
ld-2.8.so libnl-3.so.200.18.0 libnss_files-2.8.so
ld-linux.so.3 libnl-cli-3.a libnss_files.so.2
libanl-2.8.so libnl-cli-3.la libnss_hesiod-2.8.so
libanl.so.1 libnl-cli-3.so libnss_hesiod.so.2
libBrokenLocale-2.8.so libnl-cli-3.so.200 libnss_nis-2.8.so
libBrokenLocale.so.1 libnl-cli-3.so.200.18.0 libnss_nisplus-2.8.so
libc-2.8.so libnl-genl-3.a libnss_nisplus.so.2
libcidn-2.8.so libnl-genl-3.la libnss_nis.so.2
libcidn.so.1 libnl-genl-3.so libpcprofile.so
libcrypt-2.8.so libnl-genl-3.so.200 libpthread-2.8.so
libcrypto.a libnl-genl-3.so.200.18.0 libpthread.so.0
libcrypto.so libnl-idiag-3.a libresolv-2.8.so
libcrypto.so.1.0.0 libnl-idiag-3.la libresolv.so.2
libcrypt.so.1 libnl-idiag-3.so librt-2.8.so
libc.so.6 libnl-idiag-3.so.200 librt.so.1
libdl-2.8.so libnl-idiag-3.so.200.18.0 libSegFault.so
libdl.so.2 libnl-nf-3.a libssl.a
libfreetype.a libnl-nf-3.la libssl.so
libfreetype.la libnl-nf-3.so libssl.so.1.0.0
libfreetype.so libnl-nf-3.so.200 libthread_db-1.0.so
libfreetype.so.6 libnl-nf-3.so.200.18.0 libthread_db.so.1
libfreetype.so.6.9.0 libnl-route-3.a libutil-2.8.so
libgcc_s.so libnl-route-3.la libutil.so.1
libgcc_s.so.1 libnl-route-3.so libz.a
libm-2.8.so libnl-route-3.so.200 pkgconfig
libmemusage.so libnl-route-3.so.200.18.0 turbojpeg.h
libm.so.6 libnsl-2.8.so

那么原因就出在  src/drivers/drivers.mak 里了!   肯定是编译时,-lnl-3  库没有包含进来。





然后,打开这个文件。

vi src/drivers/drivers.mk +31

发现下面这几句。

ifdef CONFIG_LIBNL32

  DRV_LIBS += -lnl-3

  DRV_LIBS += -lnl-genl-3

  DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3





那么我们只需要,在配置文件.config里,加  CONFIG_LIBNL32 = y 就可以了。

编译hostapd时,出现错误:/usr/bin/ld: cannot find -lnl的更多相关文章

  1. 编译cuda Examples 时出现错误:/bin/ld cannot find -lglut

    编译cuda Examples 时出现错误:/bin/ld cannot find -lglut ,可以先找找是否缺少库,有时候可能是symbolic link不正确,没有链接到正确位置,导致找不到库 ...

  2. 【转】链接任意目录下库文件(解决错误“/usr/bin/ld: cannot find -lxxx”

    netbeans构建项目也出现了同样的问题.猜测是netbeans内部就用的是-l 这种编译方式,所以需要把***.a手动改为lib***.a 原文地址:链接任意目录下库文件(解决错误“/usr/bi ...

  3. android编译错误--/usr/bin/ld: cannot find -lz

    编译时出现/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when se ...

  4. make -f dc_debug.mak 提示错误"/usr/bin/ld:can not find -l***"解决办法

    在公司不同服务器上"make -f ***"程序的时候,有的服务器可以编译通过,有的却提示"/usr/bin/ld:can not find -l***"的错误 ...

  5. 编译错误 ----- /usr/bin/ld: cannot find -lc

    yum install glibc-static glib-static是Gcc链接时使用到的库.

  6. NTP服务编译安装报错:/usr/bin/ld: cannot find –lcap

    [root@localhost local]# find / -name "*libcap.so*" [root@localhost ntp-4.2.8p13]# cd /usr/ ...

  7. 编译错误:/usr/bin/ld: cannot find -lz

    编译时出现错误/usr/bin/ld: cannot find -lz,安装zlib和zlib-devel yum install zlib yum install zlib-devel

  8. usr/bin/ld: cannot find 错误解决方法

    参考:http://blog.siyebocai.cn/20100324_5p424qs7.html 通常在软件编译时出现的usr/bin/ld: cannot find -lxxx的错误,主要的原因 ...

  9. usr/bin/ld: cannot find 错误解决方法和 /etc/ld.so.conf

    我makefile出现这个错误: HelloWorldServer.c:(.text+0xaa): undefined reference to `zmq_send'collect2: error: ...

随机推荐

  1. 20165202 实验一 Java开发环境的熟悉

    一.实验内容及步骤 (一)使用JDK编译.运行简单的Java程序 建立"自己学号exp1"的目录 mkdir 20165202exp1 进入目录 cd 20165202exp1 在 ...

  2. linux系统编程-进程

    进程 现实生活中 在很多的场景中的事情都是同时进行的,比如开车的时候 手和脚共同来驾驶汽车,再比如唱歌跳舞也是同时进行的: 如下是一段视频,迈克杰克逊的一段视频: http://v.youku.com ...

  3. SAP NetWeaver Business Client (NWBC) 简介

    1.NWBC 简介 SAP NetWeaver Business Client (NWBC) 是新一代SAP用户界面,集成了SAPGUI事务和新的web dynpro应用,类似于桌面应用程序. SAP ...

  4. 访问路径、URL、资源加载、转码、 btn的设置、枚举

    一.URL 1.什么是URL? URL是某个资源的唯一路径,通过这个路径就能访问对应的资源 2.URL的组成 协议头://全路径 * 协议头就代表资源的类型,比如http代表网络服务器资源,ftp代表 ...

  5. 7.翻转句子中单词的顺序[ReverseWordOrderInSentence]

    [题目] 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.句子中单词以空格符隔开.为简单起见,标点符号和普通字母一样处理. 例如输入“I am a student.”,则输出“stud ...

  6. JVM原理三-----GC模块,垃圾回收

    GC方法:在JVM启动时填入参数(比如:-XX:+UseConcMarkSweepGC ) 算法区分: 1.古老回收算法: Reference Counting  ,对象有一个引用,即增加一个计数,删 ...

  7. 每天一个linux命令(权限):【转载】chmod命令

    chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中的每 ...

  8. BZOJ2820 YY的GCD 【莫比乌斯反演】

    BZOJ2820 YY的GCD Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, ...

  9. Docker环境下eShopOnContainers部署

    从头开始学eShopOnContainers--Visual Studio 2017环境配置 https://www.cnblogs.com/dusthunter/p/9973815.html 一.安 ...

  10. 在 ubuntu 中安装 python3.5 tornado pymysql

    一.在 ubuntu 中安装 python3.5 1.首先,在系统中是自带python2.7的.不要卸载,因为一些系统的东西是需要这个的.python2.7和python3.5是可以共存的. 命令如下 ...