美文网首页
以太坊parity节点对gcc版本的要求及升级gcc, glib

以太坊parity节点对gcc版本的要求及升级gcc, glib

作者: 财神下山 | 来源:发表于2018-10-23 18:10 被阅读0次

这两天在新机器CentOS Linux上启动以太坊parity节点时,总是遇到问题,头疼,我忘记保存log了。大概是下面:

GLIBCXX_3.4.21 not found

GLIBCXX_2.18   not found

但是可以确认的是,parity依赖两个库,我用的是parity稳定版 2.0.8(其它版本也一样)。我做了两件事:

1. gcc 要升级

2. 升级 glibc-2.18

默认CentOS Linux没有安装gcc,但是用yum install gcc 只能安装到4.8.5这个版本,parity需要更高的gcc版本才能运行。我在其它机器上安装的5.4的gcc是能够满足要求的。

故需要升级gcc,网上找了一些资料,我就升级到了7.3,方法如下:


#!/bin/bash

#在非root账户下,使用sudo命令

#获取源码

sudo wget http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz

#解压

sudo tar -xvf gcc-7.3.0.tar.gz

cd gcc-7.3.0

sudo ./contrib/download_prerequisites

cd ..

#建立编译输出目录

sudo mkdir gcc-build-7.3.0

#进入下面目录,执行命令,生成Makefile文件

cd gcc-build-7.3.0

sudo ../gcc-7.3.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

#执行命令进行编译,此处利用4个job,需编译时约40分钟,此值不宜设置过高

sudo make -j4

#安装

sudo make install


安装完gcc后,还要删除原来的版本库,并复制新库加软链接。

1. 复制libstdc++.so.6.0.24 到 /usr/lib64目录下

cp gcc-build-7.3.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24 /usr/lib64

2. 更新软链接

rm -rf libstdc++.so.6

ln -s libstdc++.so.6.0.24 libstdc++.so.6

以上就真正更新好gcc到7.3版本了。

现在再解决 GLIBCXX_2.18   not found的问题,比较简单。

curl -O http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz

tar zxf glibc-2.18.tar.gz

cd glibc-2.18/

mkdir build

cd build/

../configure --prefix=/usr

make -j2

make install

完毕!


再执行./parity version就能正常显示版本了,也可以正常开始 parity 节点同步。

相关文章

网友评论

      本文标题:以太坊parity节点对gcc版本的要求及升级gcc, glib

      本文链接:https://www.haomeiwen.com/subject/qwiazftx.html