移植wpa_supplicant 2.2问题

1.编译libnl1.1问题

In file included from addr.c:28:0:
../include/netlink-local.h: In function '__str2type':
../include/netlink-local.h:218:11: error: 'ULONG_MAX' undeclared (first use in this function)
../include/netlink-local.h:218:11: note: each undeclared identifier is reported only once for each function it appears in
../include/netlink-local.h: In function '__list_str2type':
../include/netlink-local.h:239:11: error: 'ULONG_MAX' undeclared (first use in this function)
make[2]: *** [addr.o] Error 1
make[1]: *** [all] Error 2
make: *** [all] Error 2

修改方法:

在 ./include/netlink-local.h 中增加头文件

 #include <limits.h>


2.修改wpa_supplicant 2.2 Makefile

修改Makefile之前,需要执行config的拷贝

 cp defconfig .config

修改Makefile如下:

CC:=/home/xuxuequan/Ingenicwork/toolchain/mips-gcc472-glibc216-32bit/bin/mips-linux-gnu-gcc
#ifndef CC
#CC=gcc
#endif



CFLAGS:= -I /home/xuxuequan/Ingenicwork/toolchain/mips-gcc472-glibc216-32bit/mips-linux-gnu/libc/usr/include
CFLAGS += -I /home/xuxuequan/Ingenicwork/lib/libsource/openssl-1.0.1h/install/include
CFLAGS += -I /home/xuxuequan/Ingenicwork/lib/libsource/libnl-1.1/include
LIBS := -L /home/xuxuequan/Ingenicwork/lib/libsource/openssl-1.0.1h/install/lib -lssl
LIBS := -L /home/xuxuequan/Ingenicwork/lib/libsource/openssl-1.0.1h/install/lib -lcrypto
LIBS += -L /home/xuxuequan/Ingenicwork/lib/libsource/libnl-1.1/install/lib -lnl 
LIBDIR := ./out/lib/
BINDIR := ./out/sbin/



#ifndef CFLAGS
#CFLAGS = -MMD -O2 -Wall -g
#endif

#export LIBDIR ?= /usr/local/lib/
#export BINDIR ?= /usr/local/sbin/


#LIBS += -lcrypto
LIBS += -L /home/xuxuequan/Ingenicwork/lib/libsource/openssl-1.0.1h/install/lib -lcrypto
#LIBS_p += -lcrypto
LIBS_p += -L /home/xuxuequan/Ingenicwork/lib/libsource/openssl-1.0.1h/install/lib -lcrypto


3.wpa_supplicant 2.2编译问题

问题一:

../src/drivers/driver_nl80211.c:19:31: fatal error: netlink/genl/genl.h: No such file or directory
compilation terminated.
make: *** [../src/drivers/driver_nl80211.o] Error 1

问题分析:

这是由于没有libnl库导致的,在Makefile中设置libnl的相关include即可


问题二:

../src/drivers/driver_nl80211.c: In function 'family_handler':
../src/drivers/driver_nl80211.c:717:10: error: 'CTRL_ATTR_MCAST_GROUPS' undeclared (first use in this function)
../src/drivers/driver_nl80211.c:717:10: note: each undeclared identifier is reported only once for each function it appears in
../src/drivers/driver_nl80211.c:721:22: error: 'CTRL_ATTR_MCAST_GRP_MAX' undeclared (first use in this function)
../src/drivers/driver_nl80211.c:724:12: error: 'CTRL_ATTR_MCAST_GRP_NAME' undeclared (first use in this function)
../src/drivers/driver_nl80211.c:725:12: error: 'CTRL_ATTR_MCAST_GRP_ID' undeclared (first use in this function)
make: *** [../src/drivers/driver_nl80211.o] Error 1

问题分析:

这是由于当前libnl库版本中genetlink.h文件部分定义没有导致的,可以从交叉编译工具链中拷贝一个

cp /home/xuxuequan/Ingenicwork/toolchain/mips-gcc472-glibc216-32bit/mips-linux-gnu/libc/usr/include/linux/genetlink.h ./genetlink.h 


问题三:

/home/xuxuequan/Ingenicwork/toolchain/mips-gcc472-glibc216-32bit/bin/../lib/gcc/mips-linux-gnu/4.7.2/../../../../mips-linux-gnu/bin/ld: cannot find -lcrypto
collect2: error: ld returned 1 exit status
make: *** [wpa_passphrase] Error 1

问题分析:

这是由于Makefile中如下部分定义导致的,按照红色部分修改为交叉编译

#LIBS += -lcrypto
LIBS += -L /home/xuxuequan/Ingenicwork/lib/libsource/openssl-1.0.1h/install/lib -lcrypto
#LIBS_p += -lcrypto
LIBS_p += -L /home/xuxuequan/Ingenicwork/lib/libsource/openssl-1.0.1h/install/lib -lcrypto

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/383442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wpa_supplicant与wpa_cli之间通信过程

wpa_supplicant编译&#xff1a; 1. wpa_supplicant/Android.mk : -- wpa_cli -- wpa_supplicant -- libwpa_client.so 2. hostapd/Android.mk : -- hostapd_cli -- hostapd 从通信层次上划分&#xff0c;wpa_supplicant提供向上的控制接口 control interface&#xff0c;用于与…

Linux内核驱动之GPIO子系统(一)GPIO的使用

一 概述 Linux内核中gpio是最简单&#xff0c;最常用的资源(和 interrupt ,dma,timer一样)驱动程序&#xff0c;应用程序都能够通过相应的接口使用gpio&#xff0c;gpio使用0&#xff5e;MAX_INT之间的整数标识&#xff0c;不能使用负数,gpio与硬件体系密切相关的,不过linux有一…

gpio_direction_output 与 gpio_set_value

gpio_set_value&#xff08;port_num,0/1&#xff09; 一般只是在这个GPIO口的寄存器上写上某个值&#xff0c;至于这个端口是否设置为输出&#xff0c;它就管不了&#xff01; 而gpio_direction_output &#xff08;port_num,0/1)&#xff0c;在某个GPIO口写上某个值之后&…

内核ko模块strip使用

编译一个内核时&#xff0c;习惯性的在install目标下加了命令&#xff1a; $(STRIP) --strip-all --remove-section.note --remove-section.comment test.ko 结果在insmod test.ko时出现错误&#xff1a; test: module has no symbols (stripped?) .................. 上…

ubuntu下修复U盘只读问题

1.通过mount指令查看u盘挂载的实际设备 /dev/sdb1 on /media/xuxuequan/0BEB-331A type vfat (rw,nosuid,nodev,uid1000,gid1000,shortnamemixed,dmask0077,utf81,showexec,flush,uhelperudisks2) 2.umount挂载点 umount /media/xuxuequan/0BEB-331A 3.fsck修复u盘设备 s…

mkfs.jffs2参数详解

实例&#xff1a;mkfs.jffs2 -r rootfs -o rootfs.jffs2 -e 0x4000 --pad0x1000000 -s 0x200 -n mkfs.jffs2: Usage: mkfs.jffs2 [OPTIONS] Make a JFFS2 file system image from an existing directory tree Options: -p, --pad[SIZE] 用16進制來表示所要輸出檔案的大小&…

关于c语言字符串函数和一些内存函数的的简介

关于c语言字符串函数和一些内存函数的的简介 求字符串长度的函数 strlen函数介绍![在这里插入图片描述](https://img-blog.csdnimg.cn/20190301142458376.jpg)注模拟实现 . [1 ]计数器方式 因为strlen 是求字符串长度的函数&#xff0c;所以不能改变字符串本身&#xff0c;所…

君正T20平台生成jffs2格式rootfs

基于系统升级的考虑&#xff0c;这两天在君正T20平台上折腾如何生成jffs2 格式的rootfs。详细的过程如下&#xff1a; 1.修改uboot中的分区参数&#xff1a; 修改为rootfs格式为jffs2的&#xff0c;且适当扩大rootfs分区大小。&#xff08;因jffs2的压缩比不如只读的squashfs…

用结构体写一个简单的通讯录

一个简单的通讯录 通讯录应该具备简单的一些功能 1 增添联系人 2 删除联系人 3 查找联系人 4 修改联系人 5 按名字给联系人排序 6 查看通讯录 除此之外&#xff0c;应该在实现上还应该具备一些其他的功能函数 比如 初始化通讯录 这些都是功能函数&#xff0c;而整个函数入口应…

jffs2 启动的常见的问题

Q&#xff1a;在启动过程中出现at91sam user.warn kernel: Empty flash at 0x00f0fffc ends at 0x00f10000问题 A&#xff1a;在mkfs.jffs2的时候&#xff0c;加上-e 0x20000指定擦除块的大小。-e是指定擦除块的大小&#xff0c;我们使用的nandflash的块大小为128K字节&#xf…

c动态内存管理

动态内存管理 我们之前要开辟内存用的方法都是定义变量&#xff0c;比如 但是上述开辟内存的方法有两个特点 1空间开辟大小是固定的 2数组在申明的时候&#xff0c;必须指定数组的长度&#xff0c;它所需要的内存在编译时分配 malloc和free c中提供一个动态内存开辟函数 这…

JFFS2文件系统挂载过程优化的分析报告

一 问题描述 在上电启动优化中发现Linux系统下挂载JFFS2文件系统耗时较长&#xff0c;以128M的NOR FLASH为例&#xff0c;用时接近20秒。后续单板的FLASH容量为256M&#xff0c;时间会更长。如此长的挂载时间&#xff0c;会大增加系统的上电启动时间。希望能对mount功能或JFFS…

右移函数(字符串,数组)

右移函数 以上是数组右移&#xff0c;将int换成char 把数组内容改成字符串就行。

关于jffs2文件系统如何掉电保护

JFFS2 是将节点信息保存在内存中 Flash上日志型文件系统的资料&#xff0c;了解到传统的基于闪存转换层&#xff08;FLT&#xff09;的文件系统存在的主要问题&#xff1a; 1. 效率低。因为每次都要把要修改的数据所在擦写块放入内存&#xff0c;产生了许多不必要的读操作&…

c中指针简介

c中指针简介 首先我们来看一下指针的一些基本概念 ![在这里插入图片描述](https://img 而对于指针的应用&#xff0c;平常有一些形式&#xff0c;总结了一下大概有这几种用法 对于以上的几种用法&#xff0c;我依次给出详尽的解释 //这是一个普通的整型变量 1 //首先从P 处开…

判断一个字符串是否另一个字符串的右移后的

首先我们把需要判断的字符串传进来&#xff0c;开辟一块大小为两个字符串的长度总和加1的动态的空间&#xff0c;然后后字符串拷贝函数将一个字符串拷贝到开辟空降中&#xff0c;再将这个字符串再次连接到这块动态的空间中&#xff0c;等于就是将一个字符串拷贝了两遍。然后比较…

登陆后保持环境变量导出

在嵌入式开发中&#xff0c;要保证在系统登录后&#xff0c;导出的环境变量依然有效&#xff0c;需要修改如下文件&#xff1a; /etc/profile export PATH/bin:/sbin:/usr/bin:/usr/sbin export PATH/system/bin:$PATH export LD_LIBRARY_PATH/system/lib export LD_LIBRARY_P…

fasync驱动异步通知机制

fasync简介 编辑异步通知fasync应用于系统调用signal和sigaction函数&#xff0c;简单的说&#xff0c;signal函数就是让一个信号与与一个函数对应&#xff0c;每当接收到这个信号就会调用相应的函数。[1]那么什么是异步通知&#xff1f;异步通知类似于中断的机制&#xff0c;当…

Linux中最常见命令总结

Linux中最常见命令总结 基础命令 命令使用格式 命令名【选项参数】 【操作对象】Ls -a workspace目录命令 Ls 默认显示浏览当前文件目录 -a 显示所有文件&#xff0c;不忽略以点开头的文件 Linux下以.开头的文件是隐藏文件 每个目录下文件的两个特殊目录 . 表示目录自身…

不带头结点的链表基础操作(初始化,增删改查)

链表是什么&#xff1f; **链表是一种物理存储单元上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点&#xff08;链表中每一个元素称为结点&#xff09;组成&#xff0c;结点可以在运行时动态生成。每个结点包括…