常怀感恩之心
——鲁迅
0、预置条件
这里已假定你已经成功安装了海思平台的交叉编译环境,并能成功编译出海思平台kernel。
小技巧:
可以通过“在shell输入‘arm-’并使用Tab按键来看是否有补全命令列表”来快速确认。
本资料将以arm-hisiv300-linux平台为例。
1、下载openssl源码
官网下载openssl源码:点这里,本文档编写时最新稳定版本是1.1.1系列,所以下载了openssl-1.1.1c.tar.gz
2、 执行configure脚本
进入解压后的openssl根目录,执行:
./config no-asm no-async shared --prefix=/home/alex/openssl/ --cross-compile-prefix=arm-hisiv300-linux-
- no-asm 在交叉编译过程中不使用汇编代码代码加速编译过程
- no-async 没有提供GNU C的ucontext库,避免如下报错:
./libcrypto.so: warning: gethostbyname is obsolescent, use getnameinfo() instead.
./libcrypto.so: undefined reference to `getcontext'
./libcrypto.so: undefined reference to `setcontext'
./libcrypto.so: undefined reference to `makecontext'
- no-shared 生成静态链接库
- --prefix 指定生成lib include bin目录的路径,不修改此项则默认为OPENSSLDIR目录
3、 执行make
make
如果编译报错,并提示"m64"字样报错信息,多半是交叉编译器不支持m64选项。解决办法:
修改Makefile ,若有-m32或-m64 字段,直接删除即可
4、 执行make install
make install
完成安装后,你可以在/home/alex/openssl/发现include和lib。其中include包含头文件集合,lib是生成的静态库(.a.1.1)和动态库文件(.so.1.1)。
网友评论