微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

centos gcc 升级4.8

最近在学习kaldi,在测试服务器上进行练习,发现测试服务器的Linux是centos系统,目前的gcc版本是4.4,但是kaldi需要至少为4.7版本的,进行了一次升级,到4.7,make了一下kaldi,仍然报错如下:

./../include/fst/shortest-distance.h:283:54: error: no type named ‘Weight’ in ‘using ReverseArc = struct fst::ReverseArc<Arc>’
make[3]: *** [determinize.lo] Error 1
make[3]: Leaving directory `/home/XXXX/kaldi-master/tools/openfst-1.6.2/src/script'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/home/XXXX/kaldi-master/tools/openfst-1.6.2/src'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/XXXX/kaldi-master/tools/openfst-1.6.2'
make: *** [openfst_compiled] Error 2
[root@beta1 tools]# ./extras/check_dependencies.sh
./extras/check_dependencies.sh: all OK.
本人C++新手,java一枚,凭感觉是代码问题。可是,不可能啊,源码怎么能错,请教了其他人是gcc版本问题,我感觉就像是java6和java9的api调用那样的问题,于是,果断升级gcc。

gcc升级到4.7步骤:

1、进入/etc/yum.repos.d 下载相关的仓库,安装devtoolset-1.0(这个是版本)

cd /etc/yum.repos.d  
wget http://people.centos.org/tru/devtools/devtools.repo   
yum --enablerepo=testing-devtools-6 install devtoolset-1.0

2、安装好devtoolset-1.0后会出现 gcc、gdb、binutils、elfutils、SystemTap、Valgrind、OProfile和dwz,说明devtoolset-1.0是一个软件包,你仍然需要安装自己需要的gcc

yum -y --enablerepo=testing-devtools-6 install devtoolset-1.0-gcc devtoolset-1.0-gcc-c++  

3、安装好后,直接新型gcc --version会发现我们gcc并没有到4.7版本,因为我们需要把它放到环境中,就像java的设置环境变量一样,linux的环境变量有很多,有全局的,有个人的,这个需要根据自己的需要确定,但是建议不要弄成全局的,因为如果多人合作,可能因为你的设置给其他人带来麻烦,做人要厚道啊~

echo 'source /opt/centos/devtoolset-1.0/enable' >> ~/.bash_profile  
  
source /opt/centos/devtoolset-1.0/enable

这是推荐对的方法使用gcc认给出的环境变量设置脚本‘/opt/cent
cd /etc/yum.repos.d  
wget http://people.centos.org/tru/devtools-2/devtools-2.repo  

os/devtoolset-1.0/enable ’,将其加到有需要用户的环境变量中。

4、至此,gcc 4.7升级成功,可以测试一下

gcc --version

升级 gcc 4.8

升级到4.7按理说我已经达到kaldi的最低要求了,应该可以编译了,但是仍然报错,于是还得悲催的升级到4.8

1、还是上面开始的操作,但是需要把版本改成devtools-2

cd /etc/yum.repos.d  
wget http://people.centos.org/tru/devtools-2/devtools-2.repo  

2、安装步骤其实和上面一样,只不过将两句命令合并在一起了
yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++  

3、这次的安装位置在

/opt/rh/devtoolset-2  

所以我们还是像上次一样的命令添加环境变量,只不过需要把路径改一下
echo 'source /opt/rh/devtoolset-2/enable' >> ~/.bash_profile  
  
source /opt/rh/devtoolset-2/enable
4、现在我们的4.8已经安装成功了
gcc --version

原文地址:https://www.jb51.cc/centos/378321.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。