海思 himix200交叉编译openssl
Posted 10km
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了海思 himix200交叉编译openssl相关的知识,希望对你有一定的参考价值。
编译环境
Ubuntu 16.04 x86_64
himix2000 编译工具链
下载openssl源码
wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
解压源码
tar xvf openssl-1.1.1d.tar.gz
执行Configure脚本
./Configure linux-generic32 \\
no-shared \\
no-asm \\
--prefix=/ilock/dist/himix200_openssl_111d \\
--cross-compile-prefix=arm-himix200-linux-
-
linux-generic32 指定目标平台类型,
有的文章指定为 linux-x86,也可以但会报错:arm-himix200-linux-gcc: error: unrecognized command line option ‘-m32’
这种情况需要手工修改Makefile,删除文件中所有的
-m32
选项 -
no-shared 生成静态库,如果要生成动态库,则使用
-shared
选项 -
no-asm 在交叉编译过程中不使用汇编代码代码加速编译过程
-
–prefix 指定安装目录
-
–cross-compile-prefix 指定交叉编译器名字前缀
执行成功显示如下信息
Configuring OpenSSL version 1.1.0d (0x1010004fL)
no-asan [default] OPENSSL_NO_ASAN
no-asm [option] OPENSSL_NO_ASM
no-crypto-mdebug [default] OPENSSL_NO_CRYPTO_MDEBUG
no-crypto-mdebug-backtrace [default] OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
no-dynamic-engine [forced]
no-ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128
no-egd [default] OPENSSL_NO_EGD
no-fuzz-afl [default] OPENSSL_NO_FUZZ_AFL
no-fuzz-libfuzzer [default] OPENSSL_NO_FUZZ_LIBFUZZER
no-heartbeats [default] OPENSSL_NO_HEARTBEATS
no-md2 [default] OPENSSL_NO_MD2 (skip dir)
no-msan [default] OPENSSL_NO_MSAN
no-rc5 [default] OPENSSL_NO_RC5 (skip dir)
no-sctp [default] OPENSSL_NO_SCTP
no-shared [option]
no-ssl-trace [default] OPENSSL_NO_SSL_TRACE
no-ssl3 [default] OPENSSL_NO_SSL3
no-ssl3-method [default] OPENSSL_NO_SSL3_METHOD
no-ubsan [default] OPENSSL_NO_UBSAN
no-unit-test [default] OPENSSL_NO_UNIT_TEST
no-weak-ssl-ciphers [default] OPENSSL_NO_WEAK_SSL_CIPHERS
no-zlib [default]
no-zlib-dynamic [default]
Configuring for linux-generic32
CC =arm-himix200-linux-gcc
CFLAG =-Wall -O3 -pthread
SHARED_CFLAG =-fPIC -DOPENSSL_USE_NODELETE
DEFINES =DSO_DLFCN HAVE_DLFCN_H NDEBUG OPENSSL_THREADS OPENSSL_NO_DYNAMIC_ENGINE OPENSSL_PIC
LFLAG =
PLIB_LFLAG =
EX_LIBS =-ldl
APPS_OBJ =
CPUID_OBJ =mem_clr.o
UPLINK_OBJ =
BN_ASM =bn_asm.o
EC_ASM =
DES_ENC =des_enc.o fcrypt_b.o
AES_ENC =aes_core.o aes_cbc.o
BF_ENC =bf_enc.o
CAST_ENC =c_enc.o
RC4_ENC =rc4_enc.o rc4_skey.o
RC5_ENC =rc5_enc.o
MD5_OBJ_ASM =
SHA1_OBJ_ASM =
RMD160_OBJ_ASM=
CMLL_ENC =camellia.o cmll_misc.o cmll_cbc.o
MODES_OBJ =
PADLOCK_OBJ =
CHACHA_ENC =chacha_enc.o
POLY1305_OBJ =
BLAKE2_OBJ =
PROCESSOR =
RANLIB =arm-himix200-linux-ranlib
ARFLAGS =
PERL =/usr/bin/perl
THIRTY_TWO_BIT mode
BN_LLONG mode
RC4 uses unsigned char
Configured for linux-generic32.
编译安装
make install
以上是关于海思 himix200交叉编译openssl的主要内容,如果未能解决你的问题,请参考以下文章