海思himix200交叉编译openssl

10km      2022-02-14     606

关键词:

编译环境

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

make/cmake:海思himix200交叉编译zlib(代码片段)

...比较简单的.编译环境Ubuntu16.04x86_64himix2000编译工具链下载openssl源码wgethttp://zlib.net/fossils/zlib-1.2.9.tar.gz解压源码tarxvfzlib-1.2.9.tar.gzCMAKE编译如果你有安装cmake,可以使用cmake来完成交叉编译cdzlib-1.2.9mkdirbuildcdbuild##在build下生成MakfileCC&#... 查看详情

海思hi3519av100emmcflash方式linux系统移植hitool工具烧写(代码片段)

因为我这里的海思文档只有SPINORFlash方式的详细烧写步骤,没有emmc方式的,本文提供一个自己成功的案例仅供参考和记录1.准备SDK、安装交叉编译工具、编译osdrv1.1解压SDK包 将Hi3519AV100_SDK_Vx.x.x.x.tgz文件放入ubuntu系统下ÿ... 查看详情

海思qt开发系列:3559平台qt移植(代码片段)

参考海思Hi3559av100移植Qt5.9.7Qt5.5.1移植到freescaleimx6网上的版本大都不完善,或多或少会出一些错误,所以一切以我为准!环境主机环境:Ubuntu16.04;板端:hi3559av100交叉编译环境:aarch64-himix100-linux-没环... 查看详情

海思qt开发系列:3559平台qt移植(代码片段)

参考海思Hi3559av100移植Qt5.9.7Qt5.5.1移植到freescaleimx6网上的版本大都不完善,或多或少会出一些错误,所以一切以我为准!环境主机环境:Ubuntu16.04;板端:hi3559av100交叉编译环境:aarch64-himix100-linux-没环... 查看详情

海思平台osdrv顶层makefile使用说明(代码片段)

本目录下的编译脚本支持arm-himix200-linux,arm-himix200-linux工具链对应glibc库。具体命令如下(以hi3516dv300举例)注意:   由于开源工具整改,部分开源工具不再提供源码包,客户编译OSDRV时需要自行下载:   a:linux-4.9.3... 查看详情

海思(hi3559c)gcc编译环境的搭建。(记录二)

一:安装虚拟机和ubuntu:(百度很多)二:对ubuntu的配置:2.1:切换镜像源2.2:设置共享发布包提供编译工具链aarch64-himix100-linux、gcc-arm-none-eabi-4_9-2015q3。aarch64-himix100-linux为基于64bit操作系统glibc的工具链,gcc-a... 查看详情

海思(hi3559c)gcc编译环境的搭建。(记录二)

一:安装虚拟机和ubuntu:(百度很多)二:对ubuntu的配置:2.1:切换镜像源2.2:设置共享发布包提供编译工具链aarch64-himix100-linux、gcc-arm-none-eabi-4_9-2015q3。aarch64-himix100-linux为基于64bit操作系统glibc的工具链,g 查看详情

openssl交叉编译(代码片段)

目录openssl交叉编译title:openssl交叉编译date:2019/12/1821:09:33toc:true---openssl交叉编译tarxvfopenssl-1.0.2t.tar.gzopenssl-1.0.2texportCC=arm-linux-gccmkdirarm./configno-asmshared--prefix=$(pwd)/arm#去除-m64viMakefilemake#这里有错误 但是可以不管好像 查看详情

关于海思hi3559安装好sdk和编译器后运行编译器出现“bash:...aarch64-himix100-linux-c++:nosuchfileordirectory”的解决方法((代码片段)

若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121424846长期持续带来更多项目与技术分享,咨询请加QQ:21497936、微信:yangsir198808红胖子(红模仿)的博文大全:开发技... 查看详情

关于openssl的交叉编译(代码片段)

最近有个项目用到openssl,于是去openssl的官方网站上下载了最新的版本,v1.1.1b版本。解压之后,发现配置编译,可以使用./config或者./Configure来完成。网上也查了一些交叉编译的说明,经常在config之后,还要手动的修改makefile才行... 查看详情

海思qt开发系列:3559平台qt移植(代码片段)

参考海思Hi3559av100移植Qt5.9.7Qt5.5.1移植到freescaleimx6网上的版本大都不完善,或多或少会出一些错误,所以一切以我为准!环境主机环境:Ubuntu16.04;板端:hi3559av100交叉编译环境:aarch64-himix100-linux-没环... 查看详情

mips编译器交叉编译openssl(代码片段)

 1.下载源码:gitclonehttps://github.com/openssl/openssl.git 2.配置生成Makefile ./config no-asmshared--prefix=$(pwd)/__installCROSS_COMPILE=mipsel-linux-去掉Makefile中的-m64 3交叉编译make出现whil 查看详情

openssl交叉编译指定编译器

配置openssl时候可以用config或者Configure来进行配置。exportTOPDIR=$(PWD)exportCROSS_COMPILE=$(TOPDIR)/arm-gcc/bin/arm-buildroot-linux-uclibcgnueabi-exportPATH:=$(TOPDIR)/arm-gcc/bin/:$(TOPDIR)/arm-gcc/usr/bin/:$PATH 查看详情

使用mingw对libcurl,openssl,zlib交叉编译

使用mingw对libcURL,openSSL,zLib交叉编译 将三个库解压到同一目录下比如取目录名为"source"的目录 提前安装active-perl配置好mingw和msys环境否则编译会出错 -source+curl-xxx+openssl-1.0.xx+zlib-xxx  1第一步(在msys环境中执行)编... 查看详情

交叉编译openssl

<openssl简介>   SSL是SecureSocketsLayer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准。其目标是保证两个应用间通信的保密性和可靠性,可在... 查看详情

openssl交叉编译(代码片段)

建立build文件夹mkdirbuild在build文件夹中建立run.sh文件cdbuildtouchrun.shchmod755run.shrun.sh文件内容如下:#!/bin/bashvcom=arm-linux-gnueabihfexportCC="$vcom"-gccexportCPP="$vcom"-g++exportAR="$vcom"-arexportLD="$vcom"-ldexportRANLIB="... 查看详情

libcurl支持openssl交叉编译mipsrt5350

 By admin | 11月18日0CommentAdvertisement历经半个月终于把libcurl库编译出来,参考网上很多博客,最终把自己要的库编译出来。首先说明一下,我要这个库的目的。我在RT5350上跑openWRT需要向服务器提交数据,用http协议,... 查看详情

arm-xm-linux交叉编译openssl(代码片段)

编译环境Ubuntu16.04x86_64arm-xm-linux.tar.gz下载openssl源码$wgethttps://www.openssl.org/source/openssl-1.1.0d.tar.gz解压源码$tarxvfopenssl-1.1.0d.tar.gz执行Configure脚本$cdopenssl$./Configurelinux-generic32\\ no-shared\\ no-asm\\ no-async\\ --prefix=/your/install/path/xm/openssl_... 查看详情