欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

交叉编译openssl到aarch64

程序员文章站 2022-06-29 13:35:24
...

交叉编译openssl到aarch64

openssl下载地址

解压

tar xvzf openssl-1.1.1.tar.gz

下载 aarch64 交叉编译工具链

linaro官网下载 https://www.linaro.org/downloads/
交叉编译openssl到aarch64
gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz
解压
tar xvf gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz

配置环境变量:

终端输入命令 gedit .bashrc 在文件末尾添加
我这里是

# 配置交叉编译器路径
export ARM_V8_CROSS_PATH=/home/wmx/cross_compile/aarch64-linux-gnu/gcc/bin
export PATH=$PATH:$ARM_V8_CROSS_PATH

交叉编译

重新打开终端分别输入以下命令:

# 配置交叉编译器路径
./config no-asm shared no-async --prefix=$(pwd)/install --cross-compile-prefix=aarch64-linux-gnu-

make 
make install

其中报错:

aarch64-linux-gnu-gcc: error: unrecognized command line option '-m64'

解决办法:
去掉 Makefile 里面所有 -m64 选项,重新编译,成功
共两处

	CNF_CFLAGS=-pthread -m64
	CNF_CXXFLAGS=-std=c++11 -pthread -m64

重新make,成功

安装在 源码目录的 install 目录下:

验证

到 install/bin 目录下
终端输入命令

file  openssl 

输出

openssl: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, for GNU/Linux 3.7.0, BuildID[sha1]=e1f30a9345b6498897598b91aa18d7985f91443c, not stripped