一、编译openssl
1、运行
./Configure no-asm linux-armv4 shared --prefix=/home/a_tu/demo/new_cross/openssl/
2、修改Makefile
CC= arm-linux-gnueabihf-gcc
AR= arm-linux-gnueabihf-ar $(ARFLAGS) r
RANLIB= arm-linux-gnueabihf-ranlib
NM= arm-linux-gnueabihf-nm
TAR= arm-linux-gnueabihf-tar
MAKEDEPPROG= arm-linux-gnueabihf-gcc
2、 make
from bss_file.c:86:
/home/a_tu/demo/new_cross/host_builtroot_latest/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/features.h:219:5: error: #error It appears you have defined _FILE_OFFSET_BITS=64. Unfortunately, uClibc was built without large file support enabled.
# error It appears you have defined _FILE_OFFSET_BITS=64. Unfortunately, \
^
In file included from /home/a_tu/demo/new_cross/host_builtroot_latest/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/stdio.h:72:0,
from bss_file.c:86:
/home/a_tu/demo/new_cross/host_builtroot_latest/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/bits/uClibc_stdio.h:61:2: error: #error Sorry... uClibc was built without large file support!
#error Sorry... uClibc was built without large file support!
^
In file included from bss_file.c:86:0:
/home/a_tu/demo/new_cross/host_builtroot_latest/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/stdio.h:83:1: error: unknown type name ‘__STDIO_fpos64_t’
typedef __STDIO_fpos64_t fpos_t;
^
make[2]: *** [bss_file.o] 错误 1
make[2]:正在离开目录 `/home/a_tu/demo/new_cross/openssl-1.0.1e/crypto/bio'
make[1]: *** [subdirs] 错误 1
make[1]:正在离开目录 `/home/a_tu/demo/new_cross/openssl-1.0.1e/crypto'
make: *** [build_crypto] 错误 1
出现以上错误
打开 crypto/bio/bss_file.c
注释掉 _FILE_OFFSET_BITS=64
错误解决
3、
make install
二、编译wpa_supplicant2.2
跳到wpa_supplicant 目录
cp defconfig .config
1、修改 .config
CC =arm-linux-gnueabihf-gcc
CFLAGS += -I/home/a_tu/demo/new_cross/openssl/include
LIBS += -L/home/a_tu/demo/new_cross/openssl/lib
2、编译
make
出现错误 ../src/drivers/driver_nl80211.c:19:31: fatal error: netlink/genl/genl.h: 没有那个文件或目录
把 .config 这个选项注释掉 #CONFIG_DRIVER_NL80211=y
再次 编译
出现错误
home/a_tu/git/pospal/tools/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lcrypto
collect2: error: ld returned 1 exit status
make: *** [wpa_passphrase] 错误 1
修改 .config CC =arm-linux-gnueabihf-gcc -L/home/a_tu/demo/new_cross/openssl/lib
再次 编译
编译通过