centos6.5下升级gnutls
gnutls全称 GNU Transport Layer Security Library,即基于GNU版权协议的传输层安全协议,是wget支持https中的ssl协议的基础库。
开始 libgnutls 源码编译
在做一个开源项目时 需要 libgnutls >= 3.2.15 当前系统gnutls-2.12 所以选择源码编译升级
wget https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.19.tar.xz
tar -xvJf gnutls-3.5.19.tar.xz
cd gnutls-3.5.19
./configure
提示找不到nettle-3.1
源码编译 nettle 3.1
wget http://ftp.gnu.org/gnu/nettle/nettle-3.1.tar.gz
tar -zxvf nettle-3.1.tar.gz
cd nettle-3.1
./configure
make
make install
在gnutls中./configure会报错 找不到nettle-3.1 其实是PKG_CONFIG_PATH路径没有找到这两个文件的原因
[root@localhost nettle-3.1]# find ./ -name "*.pc"
./hogweed.pc
./nettle.pc
[root@localhost nettle-3.1]#cp *.pc /usr/lib64/pkgconfig/
再次在gnutls中./configure 报错gmp找不到 其实存在只是头文件不存在 yum install -y gmp-devel
再次./configure 报错 Libtasn1 4.9 was not found. To use the included one, use --with-included-libtasn1
源码编译 Libtasn1 4.9
查看系统当前版本:
[test@localhost lib]$ rpm -qa | grep libtasn1
libtasn1-devel-2.3-6.el6_5.x86_64
libtasn1-2.3-6.el6_5.x86_64
版本太低 下载 Libtasn1 4.9版本
wget http://ftp.gnu.org/gnu/libtasn1/libtasn1-4.9.tar.gz
tar -zxvf libtasn1-4.9.tar.gz
cd libtasn1-4.9
./configure
make
解压编译出现错误 [-Wlogical-op] 是警告代码 可以在 https://blog.csdn.net/whatday/article/details/83780754 查询警告含义
ASN1.c:1192: error: logical '&&' with non-zero constant will always evaluate as true [-Wlogical-op]注释掉 libtasn1-4.9/lib/ASN1.c 中的1192行 // && !yytable_value_is_error (yytable[yyx + yyn]))
继续make出现 一下错误
../gl/timespec.h:41: error: no previous prototype for 'make_timespec' [-Wmissing-prototypes]
../gl/timespec.h:78: error: no previous prototype for 'timespec_cmp' [-Wmissing-prototypes]
../gl/timespec.h:88: error: no previous prototype for 'timespec_sign' [-Wmissing-prototypes]
../gl/timespec.h:102: error: no previous prototype for 'timespectod' [-Wmissing-prototypes]
在libtasn1-4.9/gl/timespec.h 增加函数声明
// 增加函数声明 去除编译警告
_GL_TIMESPEC_INLINE struct timespec make_timespec (time_t s, long int ns);
_GL_TIMESPEC_INLINE int timespec_cmp (struct timespec a, struct timespec b);
_GL_TIMESPEC_INLINE int timespec_sign (struct timespec a);
_GL_TIMESPEC_INLINE double timespectod (struct timespec a);
然后编译成功 继续在gnutls中./configure 报错找不到libtasn1-4.9
[test@localhost libtasn1-4.9]$ find ./ -name "*.pc"
./lib/libtasn1.pc
[test@localhost libtasn1-4.9]$ sudo cp lib/libtasn1.pc /usr/lib64/pkgconfig/
继续 libgnutls 源码编译
继续在gnutls中./configure 报错如下
configure: error: ****** Libunistring was not found. To use the included one, use --with-included-unistring
sudo yum install -y libunistring libunistring-devel 解决
继续在gnutls中./configure 报错如下
configure: WARNING: *** LIBIDN2 was not found. You will not be able to use IDN2008 support
checking for LIBIDN... no
configure: WARNING:
***
*** libidn was not found. IDNA support will be disabled.
***
checking for nettle_secp_192r1 in -lhogweed... no
checking whether to build libdane... yes
checking for unbound library... no
configure: WARNING:
***
*** libunbound was not found. Libdane will not be built.
***
checking for P11_KIT... no
configure: error:
***
*** p11-kit >= 0.23.1 was not found. To disable PKCS #11 support
*** use --without-p11-kit, otherwise you may get p11-kit from
*** http://p11-glue.freedesktop.org/p11-kit.html
***
根据错误提示 缺少 LIBIDN2 libunbound p11-kit >= 0.23.1
源码编译LIBIDN2
wget https://ftp.gnu.org/gnu/libidn/libidn2-2.0.5.tar.gz
tar -zxvf libidn2-2.0.5.tar.gz
cd libidn2-2.0.5
./configure
make
make install
yum安装libunbound
[test@localhost libidn2-2.0.5]$ yum list | grep unbound
unbound.x86_64 1.4.20-23.el6_9.4 @base
unbound-devel.x86_64 1.4.20-23.el6_9.4 @base
unbound-libs.x86_64 1.4.20-23.el6_9.4 @base
pcp-pmda-unbound.x86_64 3.10.9-9.el6 base
unbound-devel.i686 1.4.20-23.el6_9.4 base
unbound-libs.i686 1.4.20-23.el6_9.4 base
unbound-python.i686 1.4.20-23.el6_9.4 base
unbound-python.x86_64 1.4.20-23.el6_9.4 base
[test@localhost libidn2-2.0.5]$ sudo yum install -y unbound unbound-devel
源码编译p11-kit-0.23.14
wget https://github.com/p11-glue/p11-kit/releases/download/0.23.14/p11-kit-0.23.14.tar.gz
tar -zxvf p11-kit-0.23.14.tar.gz
cd p11-kit-0.23.14
./configure
make
make install
cp p11-kit/p11-kit-1.pc /usr/lib64/pkgconfig/
再次在gnutls中./configure通过 make make install 编译安装成功
覆盖原有的pc文件
cp ./lib/gnutls.pc /usr/lib64/pkgconfig/gnutls.pc
centos6.5下升级gnutls相关推荐
- Centos6.5下升级Python版本
enos6.5升级Python2.6到2.7 1.下载源码包 wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz 2.进行解 ...
- Linux(CentOS6.5)下编译安装Nginx1.10.1
原文出自:http://www.cnblogs.com/comexchan/p/5815753.html Linux(CentOS6.5)下编译安装Nginx1.10.1 首先在特权账号(root)下 ...
- centos6.5 离线升级openssh7.7
centos6.5 离线升级openssh7.7 测试环境需要联网准备离线升级的安装包 使用环境:centos6.5 数据迁移到centos 9 openssh 版本太低导致6.5无法ssh到9上面. ...
- linux 升级python 3.5,Linux下升级Python到3.5.2版本
本文主要介绍在Linux(CentOS)下将Python的版本升级为3.5.2的方法 众所周知,在2020年python官方将不再支持2.7版本的python,所以使用3.x版本的python是必要的 ...
- linux下怎么升级python版本,Linux下升级python版本
转载自:http://lovebeyond.iteye.com/blog/1770476 CentOS下的Python版本一般都比较低,很多应用都需要升级python来完成.我装的centOS的默认的 ...
- linux下升级g 版本,linux下升级gcc版本(gcc-7)
ubuntu16.04的自带gcc版本为gcc-5,因为安装pl-slam的需要升级到gcc-7,可以通过以下命令查看你的gcc版本 gcc --version 通过apt工具对gcc进行升级 sud ...
- linux下安装python3报错_Linux(Centos)——下升级python3.3
CentOS下的Python版本一般都比较低,很多应用都需要升级python来完成.我装的centOS的默认的python版本是V2.4.3,但运行node.js需要的版本是2.5以上. 1.下载py ...
- wampserver下升级php7
wampserver下升级php7 1.下载php7 http://windows.php.net/download#php-7.0 选择 VC14 x86 Thread Safe 64位选X64 3 ...
- CentOS6.5 下sciki-learn numpy scipy 的安装
CentOS6.5 下sciki-learn numpy scipy 的安装 软件安装 CentOS Python 之前用的一直是CentOS 7, 后来觉的软件安装太麻烦就改到了Ubuntu, 这些 ...
最新文章
- 5 个刁钻的 String 面试题!
- 为什么excel图片会变成代码_莲藕为什么会变色?焯水就发黑,炖汤就变粉色,甚至会变成暗紫色...
- 提示You don't have permission to access /index.php on this server.
- l2-004 这是二叉搜索树吗?_LeetCode 例题精讲 | 11 二叉树转化为链表:二叉树遍历中的相邻结点...
- 额,看房没戴头盔,损失二十万 。。。
- 【Java面试题】34 List 、Map、Set 区别?
- HDU 5392 BC #51
- 3dmax体积雾渲染不出来_【扮家家云渲染效果图】3Dmax体积光制作丛林光束|干货教程...
- 错误:未启用当前数据库的SQL Server Service Broker,因此查询通知不受支持。如果希望使用通知,请为此数据库启用 Service Broker。...
- Counter 用法 from collections import Counter
- android 图片文字布局,Android自定义控件图片+文字布局
- 基于catia活塞的有限元分析_渐开线插齿刀自动化设计系统及有限元分析
- OPEN SQL中通配符的使用
- win10升级后ctrl+shift+f失效了(zend studio)问题解决
- 统计学基础知识之统计思维
- 笔记本计算机显示图标,笔记本电脑声音图标不见了?电脑声音图标显示红叉
- 电容电感充放电时间计算
- PS中放大图片不失真的方法
- 用C/C++打造数字时钟程序(附代码),竟然只要100行代码!
- 舒舍提醒你需要注意这些
热门文章
- STM32定时器的TRGO信号
- NR 5G 关于gNB-CU和gNB-DU
- 树上边分治-求任意两点路径的总和
- docker 异常:“fork/exec /proc/self/exe: no such file”
- 我的Android进阶之旅------gt;怎样在多个LinearLayout中加入分隔线
- 机器大神 Michael Jordan 教授主题演讲:机器学习——创新视角,直面挑战》
- python实践3:cursor() — 数据库连接操作
- jQuery 选择器中的空格问题
- Configure NFS Server On AIX 6.1
- 跨域资源共享的10种方式(转)