移植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.pswp.cn/news/383442.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/383442.shtml
英文地址,請注明出處:http://en.pswp.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;結點可以在運行時動態生成。每個結點包括…