编译hostapd时,出现错误:/usr/bin/ld: cannot find -lnl
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相关推荐
- 编译的时候出现错误/usr/bin/ld: cannot find -lvtkCommon
比如错误为: usr/bin/ld: cannot find -lvtkCommon 首先要明白的是 lvtkCommon 代表的是 libvtkCommon.so 明白了这个之后,我们就知道了问题是 ...
- Qt常见make编译错误:/usr/bin/ld:cannot find -lxxx
使用make命令编译Qt原码时出现了 /usr/bin/ld: cannot find -lXrender 问题: /usr/bin/ld: cannot find -lXrender ...
- Linux编译lclntsh,Linux下编译C/C++时,出现/usr/bin/ld: cannot find -l*** 错误的处理
直接在命令行输入: # locate lib*** 显示出文件所在路径, 然后在命令行: # ln -s 文件路径/文件名 /usr/lib/文件名 应该解决了. 例如: # gcc first ...
- 编译错误/usr/bin/ld: cannot find -lz
转自:http://blog.sina.com.cn/s/blog_4be5711f01015th7.html 编译的时候出现"/usr/bin/ld: cannot find -lz&qu ...
- debug笔记—编译报错usr/bin/ld: cannot find -lfl 解决办法;yum 安装软件时,报错:No package XXX available 解决办法
问题1: 在编译GEOS-Chem中KPP时,出现问题: usr/bin/ld: cannot find -lfl 原因:参考链接:https://www.royalchen.com/?p=2170 ...
- Qt5.2编译时出现/usr/bin/ld: cannot find -lxxx 错误
在Linux中,lib库的命名规则为:lib+库名+.so 而-lxxx,其中xxx表示lib库的名字. 出现"/usr/bin/ld: cannot find -lxxx" 错误 ...
- /usr/bin/ld: cannot find -lxxx的错误
转载自 参考 通常在软件编译时出现的usr/bin/ld: cannot find -lxxx的错误或者-so undefine xxxx,主要的原因是库文件并没有导入的ld检索目录中. 解决方式: ...
- 找不到ld-linux.so.3,usr/bin/ld: cannot find 错误解决方法和 /etc/ld.so.conf
我makefile出现这个错误: HelloWorldServer.c:(.text+0xaa): undefined reference to `zmq_send' collect2: error: ...
- l usr bin mysql,解决/usr/bin/ld: cannot find -lmysqlclient错误
类似/usr/bin/ld: cannot find -xxxx的错误有很多, 首先我们可以最简单的判断一下: 这类情况一般是由于缺乏某某库文件, 又或者可能是由于已存在的库问题版本不对造成的 一般都 ...
最新文章
- 造完家怎么拆东西_我今天把老家的宅基地拆了!
- SharePoint Hello World Web Part
- 共同体不是c语言中的一个数据类型,《c语言程序设计教学资料》第12章---构体和共同体.ppt...
- 获取当前周一日期_Excel工作表中最全的时间和日期函数,效率、办公必备
- ul列表中包含input时line-height属性失效的解决办法
- mysql 数据库优化
- Silverlight下载-Silverlight 1.1 Tools下载
- SVN下载项目到本地
- 在 After Effects 中最受欢迎的10大AE插件推荐
- Word导出pdf时Origin图片出现重影(重叠)
- Rancher Cluster is being upgraded
- 计算机主题绘画能画什么,电脑绘画活动方案
- vim 删除首尾空格
- 我在亚马逊云平台的学习成长之路
- java 随机数生成算法_java 语言实现的随机数生成算法
- EL表达式三目运算符
- Ubuntu20.04 虚拟显示器配置,解决Ubuntu无显示器时nomachine/vnc/Teamviwer等远程终端桌面卡顿问题
- 皮影机器人ppt_皮影演绎机器人
- 案例: 场景:比如 在项目中显示所有项目/某用户的所有项目Controller中 ulr对应的名字是一致
- SLAM学习 | 单目相机标定(附代码实测可用)