背景

运行程序出现
./main: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.25’ not found (required by /lib/arm-linux-gnueabihf/libcrypto.so.1.1) 
是编译的libcrypto.so版本高于系统的glibc版本,只能重新编译一个低版本的libcrypto.so库。

脚本

build.sh

#! /bin/bashwget https://www.openssl.org/source/openssl-1.0.2.tar.gztar -xvf openssl-1.0.2.tar.gzchmod +x run.sh
cp run.sh ./openssl-1.0.2cd openssl-1.0.2
./run.sh

run.sh

#! /bin/bashARM_CROSS_TOOL=/home/z/cross_tool/gcc-linaro-4.9-2016.02-x86_64_arm-linux-gnueabihf/binSYS_LIB_DIR=$ARM_CROSS_TOOL/../arm-linux-gnueabihf/libc/usr/export PATH=$PATH:$ARM_CROSS_TOOLOUT_TARGET=`pwd`/../openssl_arm
mkdir -p $OUT_TARGETvcom=arm-linux-gnueabihfexport CC="$vcom"-gcc
export CPP="$vcom"-g++
export AR="$vcom"-ar
export LD="$vcom"-ld
export RANLIB="$vcom"-ranlibLDFLAGS=-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
export LDFLAGS./config \
no-asm \
shared \
--prefix=$OUT_TARGET#delete MakeFile -m64
sed -i "s/-m64/ /g" Makefile make
make installecho "the output files is in $OUT_TARGET"cp -rvf $OUT_TARGET/* $SYS_LIB_DIR/
echo "$SYS_LIB_DIR"
echo "finish"

不要多线程编译,可能此版本不支持多线程同时编译。

编译

chmod +x build.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 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=153cd45bfd9c3d58d68d5153101fdd7eb003c4e8, not stripped

注意

此版本编译出的库版本是libcrypto.so.1.0.0 , 应该可以用于glibc 2.23的系统,链接该版本库时,要将该版本库放到交叉编译器的libc/usr/目录下才可。

libcrypto.so.1.0.0编译相关推荐

  1. 解决 Package test is missing dependencies for the following libraries: libcrypto.so.1.0.0

    根据项目要求需要用到openssl这个库,看了看编译环境幸好本身就集成了该库.但在编译openssl的功能时,碰到缺少类库的错误. Package test is missing dependenci ...

  2. redis3.0.2 编译安装 (启动服务方式启动)

    1.基础环境介绍: 操作系统:Centos 6.7 redis版本:3.0.2 2.开始安装: 1)基础安装 参考链接:http://309173854.blog.51cto.com/7370240/ ...

  3. vs编译protobuf 3.0.0

    Google终于发布了protobuf 3.0的release版了,升级项就不说了,之前的版本内部都有一个vsprojects目录,可以通过vs工程直接打开,新版本需要自己通过cmake去创建. pr ...

  4. 在Linux上编译LLVM/Clang 8.0.0等全部源代码

    2019独角兽企业重金招聘Python工程师标准>>> 本教程使用的操作系统是Ubuntu Linux 18.04.2 LTS版本,编译器是GCC 6.5.0(不用新版的原因是某些代 ...

  5. 解决编译不通过Could not find support-compat.aar (com.android.support:support-compat:26.0.0).

    android 编译报错: > Could not find support-compat.aar (com.android.support:support-compat:26.0.0).Sea ...

  6. 编译安装nginx1.9.7+php7.0.0服务器环境

    编译安装nginx1.9.7+php7.0.0服务器环境 一直以来我都通过网上的一些材料去搭建lnmp环境,通过直接yum安装nginx mysql php等软件. 但是为了原生态的编译安装最新的软件 ...

  7. ASP.NET 2.0的编译模型

    ASP.NET 2.0支援两种编译模型(Compilation Model): 一为动态编译(Dynamic Compilation),另一个为先行编译(Precompilation). 这让程序设计 ...

  8. ubuntu16.04 cuda8.0 caffe 编译 error: cublas_v2.h 没有那个文件或目录

    ubuntu16.04 cuda8.0 caffe 编译时遇到 caffe fatal error: cublas_v2.h 没有那个文件或目录 参考:http://blog.csdn.net/qq_ ...

  9. 【错误记录】Android Studio 编译报错 ( Installed Build Tools revision 31.0.0 is corrupted )

    文章目录 一.报错信息 二.解决方案 一.报错信息 Executing tasks: [:dex_demo:assembleDebug, :app:assembleDebug] in project ...

  10. android6.0单独编译和调试framework源码的方法

    缺省情况下,android 6.0的编译过程会优化framework.jar,这导致所有系统启动相关的文件(比如service.jar)一起打包到boot.oat中打包,并引入了checksum机制, ...

最新文章

  1. 多分类学习方法、One vs. Rest、One vs. One、Many vs. Many、多输出分类
  2. 2018最具就业前景的7大编程语言,Java、Python和JavaScript?
  3. [ASP.NET 控件实作 Day31] TBContextMenu 控件三种不同模式的 Click 动作
  4. [Linux] ubuntu 格式化u盘
  5. 信息系统项目管理师考试资料
  6. 数组中的元素赋值给元素_漫画:寻找无序数组的第k大元素
  7. hive清空外表数据
  8. Java利用jenkins做项目的自动化部署
  9. 例2.2 成绩排序 - 九度教程第2题(排序)
  10. 5 C语言-scanf基本用法
  11. Webpack打包警告: We noticed you're using the `useBuiltIns` option without declaring a core-js version.
  12. 计算机为何引入16进制,计算机内存地址为什么要用16进制数来表示
  13. vscode下载慢、安装、插件和使用(七七)
  14. 为什么许多器件的片选信号低电平有效,而不是高电平有效?
  15. dreamweaver动漫HTML网站制作——海贼王主题网页1页海贼王我当定了(HTML+CSS)
  16. java 接口函数_Java函数式接口Supplier接口实例详解
  17. Web兼容性测试的要点
  18. 原创OI题目:部落冲突
  19. DL645通信协议97/07规约
  20. SpringBoot是如何动起来的

热门文章

  1. android 蓝牙读取数据格式,解析Android蓝牙数据包
  2. livereload_使用LiveReload节省编码时间和精力
  3. 普元EOS中如何往Session的UserObject中设置自定义属性
  4. 离散数学-欧拉图和哈密顿图
  5. 使用HTML图片热区area map制作区域地图的选择高亮效果
  6. C++ 调用 SWMM模型.swmm5.dll
  7. 大数据结合人工智能,助力智慧城市建设
  8. Keil MDK5安装详细步骤
  9. html表格的行合并代码,HTML代码制作的表格合并单元格教程
  10. Java面向对象基础练习题(含答案超详细)