這陣子在 CentOS 6 上編譯出現 gcc 版本太低的問題,預設在 CentOS 6 使用 yum 僅能裝到 4.4.7 版本,這是非常老舊的版本
- devtoolset-2 (gcc 4.8.2)
- Repo: http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
- devtoolset-3 (gcc 4.9.2)
- Repo: http://linuxsoft.cern.ch/cern/scl/slc6-scl.repo
- devtoolset-4 (gcc 5.2.1)
- Repo: https://copr.fedoraproject.org/coprs/hhorak/devtoolset-4-rebuild-bootstrap/repo/epel-6/hhorak-devtoolset-4-rebuild-bootstrap-epel-6.repo
- Or “yum install centos-release-scl”
在此篇的狀況我需要 GCC 4.8 的版本,可以依靠 devtoolset-2 這個套件來升級 gcc 4.8+
Step.1 匯入 rpm 的 RPM-GPG-KEY
$ rpm --import http://ftp.scientificlinux.org/linux/scientific/5x/x86_64/RPM-GPG-KEYs/RPM-GPG-KEY-cern
Step.2 加入 devtoolset 的 repo 來源
$ wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
Step.3 yum 安裝 devtoolset-2
$ yum install devtoolset-2
Step.4 啟動預設 gcc 4.8.2
$ scl enable devtoolset-2 bash
Step.5 驗證
$ gcc --version gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15) Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
如果你不想調整為預設,僅想使用一次,可以直接執行 gcc 4.8.2 的版本
$ /opt/rh/devtoolset-2/root/usr/bin/gcc --version