交叉编译openssl到aarch64

交叉编译openssl到aarch64

openssl下载地址

解压

tar xvzf openssl-1.1.1.tar.gz

下载 aarch64 交叉编译工具链

linaro官网下载 https://www.linaro.org/downloads/
交叉编译openssl到aarch64_第1张图片
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

你可能感兴趣的:(ubuntu,嵌入式)