交叉编译openssl-1.0.22

脚本

build.sh

#! /bin/bash

if [ ! -f openssl-1.0.2.tar.gz ]
then
	wget http://distfiles.macports.org/openssl/openssl-1.0.2.tar.gz
fi

tar -xvf openssl-1.0.2.tar.gz

chmod +x run.sh
cp run.sh ./openssl-1.0.2/

cd openssl-1.0.2

./run.sh

run.sh

#! /bin/bash

###############################
ARM_TOOL_PATH=/home/z/allwinner/h6/lichee/brandy/armv8_toolchain/external-toolchain/bin

SYS_LIB_DIR=/home/z/allwinner/h6/lichee/brandy/armv8_toolchain/external-toolchain/aarch64-linux-gnu/libc/usr

vcom=aarch64-linux-gnu
nthread=1
###############################
OUT_TARGET=`pwd`/../openssl_arm
mkdir -p $OUT_TARGET

export PATH=$PATH:$ARM_TOOL_PATH
 
export CC="$vcom"-gcc
export CPP="$vcom"-g++
#export CXX="$vcom"-g++
export AR="$vcom"-ar
export LD="$vcom"-ld
export RANLIB="$vcom"-ranlib
 
./config \
no-asm \
shared \
--prefix=$OUT_TARGET

#delete MakeFile -m64
sed -i "s/-m64/ /g" Makefile

make -j$nthread && make install

echo "the output files is in $OUT_TARGET"

tar czvf $OUT_TARGET.tar $OUT_TARGET
cp -rvf $OUT_TARGET/* $SYS_LIB_DIR/
echo "$SYS_LIB_DIR"
echo "finish"

make -j1 && make install 这里-j1才能够编译通过,如果是arm64版本编译器,可以用-j8多线程编译。

编译

chmod a+x build.sh
chmod a+x run.sh
./build.sh

输出

ls openssl_arm
bin  include  lib  ssl

file openssl_arm/lib/libcrypto.so.1.0.0 
openssl_arm/lib/libcrypto.so.1.0.0: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=47e58197b99bf1883f7ecf5a0d5e107b18c984ee, not stripped

file openssl_arm/lib/libssl.so.1.0.0 
openssl_arm/lib/libssl.so.1.0.0: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=19ed8473293d82e404a551a9529efbd6244ac095, not stripped

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值