Openssl 移植

一、下载源码

1.打开openssl官网,下载openssl-1.1.1.tar.gz源码包。

2.执行下面的命令解压源码包:

       $ tar xvzf openssl-1.1.1.tar.gz

二、配置openssl

1.执行下面的命令配置工程

       $ ./config no-asm shared no-async --prefix=$(pwd)/install --cross-compile-prefix=arm-linux-

其参数说明如下:

       no-asm:  在交叉编译过程中不使用汇编代码代码加速编译过程;

       shared: 生成动态连接库。

       no-async: 交叉编译工具链没有提供GNU C的ucontext库

       –prefix=: 安装路径

       –cross-compile-prefix=: 交叉编译工具

2.打开Makefile,删除里面所有的-m64和-m32编译选项。

三、编译openssl

1.执行make编译工程;

2.执行make install,在源文件路径会生成一个install文件。

四、移植到开发板

拷贝libcrypto.so.1.1 和 libssl.so.1.1到开发板文件系统的/usr/lib/目录。

五、常见问题

1. error: unrecognized command line option '-m64'

 原因:Makefile中有-m64和-m32编译选项

 解决方法:打开Makefile,删除里面所有的-m64和-m32编译选项。

2. ./libcrypto.so: undefined reference to 'getcontext'

    ./libcrypto.so: undefined reference to 'setcontext'

    ./libcrypto.so: undefined reference to 'makecontext'

原因:执行 ./config 时没有添加 no-async 参数

解决方法:执行 make clean,然后执行./config no-asm shared no-async --prefix=$(pwd)/install --cross-compile-prefix=arm-linux-,重新编译即可。

 

 

 

 

你可能感兴趣的:(ARM)