1/22/2010

交叉编译 openssl

前段时间做过 WiFi的项目,现在功能基本正常,但是目前只支持WEP,对 WPA1/WPA2等不支持,所以需要考虑后续改进的问题。
对于 WPA1/WPA2,在Linux下一般通过wpa_supplicant 来连接AP,而wpa_supplicant 认证过程使用了openssl 的库,因此需要先交叉编译openssl,这里做个笔记 :)

./Configure --prefix=../openssl-arm os/compiler:arm-none-linux-gnueabi-gcc

make 编译之后如果直接make install 的话会报错:
making install in crypto...
make[1]: Entering directory `/wireless/openssl-0.9.8l/crypto'
cp: cannot create regular file `../openssl-arm/include/openssl/crypto.h': No such file or directory
chmod: cannot access `../openssl-arm/include/openssl/crypto.h': No such file or directory
cp: cannot create regular file `../openssl-arm/include/openssl/tmdiff.h': No such file or directory
...

所以我没有 install,反正编译wpa_supplicant 时只需要openssl 的 libssl.a、 libcrypto.a以及 include/openssl/ 下的头文件

1 条评论:

丹尼爾 说...

./Configure --prefix=../openssl-arm os/compiler:arm-none-linux-gnueabi-gcc

making install in crypto...
make[1]: Entering directory `/wireless/openssl-0.9.8l/crypto'
cp: cannot create regular file `../openssl-arm/include/openssl/crypto.h': No such file or directory

因為它後來 Entering directory 進入下一層,所以相對安裝路徑就會找不到

所以最好 --prefix 使用絕對路徑就不會有這問題