美文网首页
海思平台交叉编译openssl

海思平台交叉编译openssl

作者: zhongwcool | 来源:发表于2019-08-19 13:49 被阅读0次

常怀感恩之心
        ——鲁迅

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)。

相关文章

网友评论

      本文标题:海思平台交叉编译openssl

      本文链接:https://www.haomeiwen.com/subject/nccssctx.html