【原创】GmSSL Linux编译, 环境搭建
编译环境:
- wsl ubuntu 20.04
由于GmSSL继承自openssl, 为了防止和openssl冲突,最好将GmsSL 编译为静态库 在Linux下安装GmSSL
1、 执行 ./config --prefix=/usr/local/gmssl --openssldir=/usr/local/gmssl no-shared 将其安装到/usr/local/gmssl.
注:–prefix表示安装路径;no-shared 表示只编译静态库;默认生成64位库。
执行后报错信息:
Operating system: x86_64-whatever-linux2
"glob" is not exported by the File::Glob module
Can't continue after import errors at ./Configure line 18.
BEGIN failed--compilation aborted at ./Configure line 18.
"glob" is not exported by the File::Glob module
Can't continue after import errors at ./Configure line 18.
BEGIN failed--compilation aborted at ./Configure line 18.
This system (linux-x86_64) is not supported. See file INSTALL for details
这是由于Perl package导致,修改Configure文件. 参考链接
use if $^O ne "VMS", 'File::Glob' => qw/glob/;
修改为
use if $^O ne "VMS", 'File::Glob' => qw/:glob/;
2、 再次执行报错
Something wrong with this line:
Program fragment delivered error ``"glob" is not exported by the File::Glob module
at /mnt/e/secure/GmSSL-master/test/build.info at ./Configure line 1644.
原因同上,修改 test/build.info中, 查找File::Glob. 修改后即可生成makefile
3、执行 make -j8
报错信息:
make depend && make _tests
make[1]: Entering directory '/mnt/e/secure/GmSSL-master'
make[1]: Leaving directory '/mnt/e/secure/GmSSL-master'
make[1]: Entering directory '/mnt/e/secure/GmSSL-master'
( cd test; \
SRCTOP=../. \
BLDTOP=../. \
PERL="/usr/bin/perl" \
EXE_EXT= \
OPENSSL_ENGINES=.././engines \
OPENSSL_DEBUG_MEMORY=on \
/usr/bin/perl .././test/run_tests.pl )
"glob" is not exported by the File::Glob module
Can't continue after import errors at .././test/run_tests.pl line 19.
BEGIN failed--compilation aborted at .././test/run_tests.pl line 19.
make[1]: *** [Makefile:153: _tests] Error 255
make[1]: Leaving directory '/mnt/e/secure/GmSSL-master'
make: *** [Makefile:150: tests] Error 2
按以上方法修改run_tests.pl即可。
4、执行sudo make install 安装
5、查看是否成功 执行 gmssl version
至此,GmSSL安装成功。

【原创】GmSSL Linux编译, 环境搭建的更多相关文章
- Tiny4412 开发板 编译环境搭建【转】
本文转载自:http://blog.csdn.net/beijiwei/article/details/51055369 版权声明:本文为博主原创文章,未经博主允许不得转载. /*********** ...
- ubuntu12.04下安卓编译环境搭建总结
前言: 因为工作需要,经常要编译安卓下的动态库,公司有已经搭建好环境的服务器,但是第一自己想自己搭建一下了解一个整个过程,另外,公司的服务器也经常出现问 题,导致编译不了,所以就想自己搭建环 ...
- 一步步学习Linux开发环境搭建与使用
00.Linux开发环境搭建与使用1--Linux简史 01.Linux开发环境搭建与使用2--Linux系统(ubuntu)安装方案 02.Linux开发环境搭建与使用3--通过虚拟机安装系统(ub ...
- 全志A33编译环境搭建
0x00 环境说明: 所使用的开发板为锐尔威视的插针版A33_Vstar 主机系统为WIN10 1809 x64,并且安装VMware Workstation Pro 下载64位的Ubuntu安装镜像 ...
- Emscripten编译环境搭建--将C和C++编译成JS
Emscripten编译环境搭建--将C和C++编译成JS 需求:linux环境下用js执行c.c++文件,使用emscirpten编译器 目标:搭建好Emscripten环境 环境:Ubuntu16 ...
- openwrt(一):openwrt源码下载及编译环境搭建
声明:从网上各位大神的博客学习,整理后记录,非原创. 注:请用非root用户来下载源码 导航: 1. openwrt编译环境搭建 2. openwrt源码下载 3. feeds更新 1. openwr ...
- IoT设备程序开发及编译环境搭建初体验
引言 Mirai事件一经曝出,立即引领了一轮研究IoT设备的热潮.目前,对Mirai的报告大多只是在对其功能实现上的介绍,却很少提及如何实现IoT设备程序开发的测试环境.本文在对Mirai的源码研究的 ...
- Linux开发环境搭建与使用系列教程
00.Linux开发环境搭建与使用1——Linux简史 01.Linux开发环境搭建与使用2——Linux系统(ubuntu)安装方案 02.Linux开发环境搭建与使用3——通过虚拟机安装系统(ub ...
- C语言编程入门之--第二章编译环境搭建
第二章 编译环境搭建 导读:C语言程序如何工作,首先需要编译链接成可执行文件,然后就可以运行在不同的环境中,这个“环境”的意思就是比如说,电脑,手机,路由器,蓝牙音箱等等智能设备中,其中编译器启到了关 ...
- Linux测试环境搭建的学习建议
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux测试环境搭建的一些建议. 一.Linux测试环境搭建从基 ...
随机推荐
- docker删除image
删除<None><None>镜像 docker rmi $(docker images -f "dangling=true" -q) 如果删除时出现了ima ...
- css 多行隐藏
overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box- ...
- C语言学习--文件操作--文件流指针--打开文件
当打开一个文件时, 系统会返回一个结构体, 这个结构体有对此文件操作的所有信息 调用fopen时,系统返回这个结构体的地址 FILE *p = fopen("a.txt") 打开一 ...
- 假设业务需要,在页面一屏中一次性展示大量图片(100张),导致img组件同时发起大量的请求,导致浏览器性能被消耗殆尽,页面卡死。怎么优化?
1.所有图片先提供占位图2.懒加载思想3.使用队列的方式4.通过信号量的机制,结合队列.例如设置可用资源数为10,则保证同一时刻,只有10张图片正在请求,其它图片处于loading状态,任意图片请求完 ...
- java8 stream流的使用
List<Paper> list = new ArrayList<>();list.add(new Paper("m",2L));list.add(new ...
- 如何判断JS数据类型
在 ECMAScript 规范中,共定义了 7 种数据类型,分为 基本类型 和 引用类型 两大类,如下所示: 基本类型:String.Number.Boolean.Symbol.Undefined.N ...
- javaweb自学书籍推荐
第一部分:Java语言篇 1.<Java编程规范> 适合对象:初级.中级 介绍:这本书的作者是被誉为Java之父的James Gosling,入门者推荐阅读,对基础的讲解很不错. 2.&l ...
- Oracle 数据库升级过程中的主要步骤
Oracle 数据库升级包括六个主要步骤. Oracle 数据库的升级步骤工作流 步骤 1:准备升级 Oracle 数据库 熟悉 Oracle 数据库新版本的特性. 确定新版本的升级路径. 选择升级方 ...
- Lua中对自定义二维表进行添加、修改、计算、删除、判断是否存在操作
引言: 最近刚稍微深入了解一下Lua,正好最近需要用到Lua中对表的操作,于是借助现有的了解实现了对一个简单的二维表进行添加.修改.计算.删除及判断存在的操作 表的创建及相关方法: 1. 创建表及自定 ...
- 20220712 第一小组 张明旭 JS学习记录
心情 今天是正式学习的第四天,感觉上午任务不是特别重,身心放松,知识点都掌握的不错:一到下午刚上课就画风突变,内容突然就男了,后来依旧是男上加男... 重点: 四大循环(理解) 内置函数(了解) 在s ...