題 如何在CentOS上安裝gcc 4.7.x / 4.8.x.


什麼是最簡單的安裝方式 gcc CentOS 6.2+系統上的4.7.x / 4.8.x?默認RPM包包含舊版本 gcc


87
2018-01-22 15:08


起源




答案:


centos.org的Tru Huynh建立了 redhat開發者工具集1.1,對於centos,它包含gcc 4.7.2

所以你可以簡單地使用他的倉庫並立即安裝gcc。

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

這將最有可能安裝 /opt/centos/devtoolset-1.1/root/usr/bin/

然後,您可以告訴編譯過程使用gcc 4.7而不是4.4使用CC變量

export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc  
export CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp
export CXX=/opt/centos/devtoolset-1.1/root/usr/bin/c++

66
2018-01-26 13:54



賽跑 yum --enablerepo=testing-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++ 返回一個四點四,..: 圖片
別忘了 yum clean all 在失敗之後再次執行步驟之前,您仍將獲得404
而不是設置你可以做的個別變量 scl enable devtoolset-1.1 bash (它啟動所有變量設置的新shell)。 - marcin
對於g ++ 4.8.2,請更改 1.1 至 2 無處不在,改變 --enablerepo=testing-1.1-devtools-6 至 --enablerepo=testing-devtools-2-centos-6 - dwurf
這仍然有用嗎?我明白了 people.centos.org/tru/devtools-2/6Workstation/i386/RPMS/...:[Errno 14] PYCURL ERROR 22 - “請求的URL返回錯誤:404” - Paul Praet


以下是如何獲得devtoolset-2(包括gcc 4.8.1)

這取自 http://people.centos.org/tru/devtools-2/readme 

wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++

已知的問題:

  • 未簽名的包
  • CentOS-6 devtoolset-2需要devtoolset-2-ide,它包含整個Eclipse堆棧,但還沒有構建
  • CentOS-6所有maven相關文件都沒有構建

devtools-1.1的主要變化:

  • /opt/centos 不再使用
  • /opt/rh 現在用作上游(如SL版)

41
2018-04-17 23:09



我必須將它們導出才能工作。謝謝! export CC = / opt / rh / devtoolset-2 / root / usr / bin / gcc export CXX = / opt / rh / devtoolset-2 / root / usr / bin / c ++ export CPP = / opt / rh / devtoolset-2 /根的/ usr / bin中/ CPP - jemiloii
@JemiloII - 你做到了嗎? scl enable devtoolset-2 安裝後?這應該可以在路徑上獲得正確的編譯器。 - Mark Lakata
這實際上比出口更好! - jemiloii
@MarkLakata - 跑步 scl enable devtoolset-2 拋出以下錯誤 Need at least 3 arguments. Run scl --help to get help. - Swanidhi
@Swanidhi完整的命令是 scl enable devtoolset-2 bash 如果你不使用bash,最後一個字段可能會有所不同。 - Mark Lakata


devtoolset 2.0已有新版本。來自Cern的很好的人在科學Linux上工作 一個開放的版本

如果您使用CentOS(不是Scientific Linux),那麼您必須從中導入他們的GPG密鑰 這裡 使用:

rpm --import http://www.scientificlinux.org/documentation/gpg/RPM-GPG-KEY-cern

請享用!


30
2017-11-15 13:21



上面GPG鍵的鏈接壞了,我在這裡找到了一面鏡子: ftp.mirrorservice.org/sites/ftp.scientificlinux.org/linux/... - staticfloat
上面的鏈接現在已經破了,我在這裡找到了類似的密鑰:[ftp.riken.jp](ftp.riken.jp/Linux/cern/slc58/x86_64/RPM-GPG-KEYs/...) - remo


# 1. Install a package with repository for your system:
# RHEL 6: `yum-config-manager --enable rhel-server-rhscl-6-rpmss`
# RHEL 7: `yum-config-manager --enable rhel-server-rhscl-7-rpms`
$ sudo yum install centos-release-scl # On CentOS 6/7+, install package centos-release-scl available in CentOS repository

# 2. Install the collection:
$ sudo yum install devtoolset-3

# 3. Start using software collections:
$ scl enable devtoolset-3 bash

$ sudo yum list devtoolset-3\*

21
2017-11-18 20:33



是什麼 hash -r 做? - codecowboy
ln -s / opt / rh / devtoolset-2 / root / usr / bin / * / usr / local / bin /在我的Centos 6.7系統上破壞了sudo。我認為它可能是別名sudo。 - codecowboy
@codecowboy $PATH 每次通過將結果緩存在內存中鍵入命令時, hash -r 強制重新加載$ PATH - Denis Denisov
@Denji - 顯然,hop5.in網站已不復存在。 - slm
可能需要添加 --nogpgcheck 選項 : sudo yum install --nogpgcheck devtoolset-3 - FooBee


從我可以看到的 gnu gcc,最新的穩定版本是4.62。版本4.7可以下載和編譯,更多信息 gcc安裝


2
2018-01-22 15:21



我問了4.7因為它應該有我需要的一些C ++ 11功能(從Clang移植)。 - Tomas Andrle
所以除了從源代碼編譯之外,沒有網站可以使用一些我可以使用的rpms嗎? - Tomas Andrle
不是我知道的,但我對這個話題知之甚少。 RPM存儲庫通常僅以其穩定的形式包含RPM。 - bbaja42


這些答案中沒有一個對我有用。
即使在devtoolset的shell中仍然看到了我的gcc 4.4.7。
我的訣竅如下:

mv /usr/bin/gcc /usr/bin/gcc.bckup
ln -s /opt/centos/devtoolset-1.1/root/usr/bin/gcc /usr/bin/gcc

2
2018-06-29 22:23





devtool1.1存在問題所以我做了一些更改 - 最後,這對我有用: 第一次運行

yum clean all

比:

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

現在打開/etc/yum.repos.d/devtools-1.1.repo並更改 來自:

http://people.centos.org/tru/devtools-2/$releasever/$basearch/RPMS

(如果您使用的是x86_64):

http://people.centos.org/tru/devtools-1.1/6/x86_64/RPMS/ 

或((如果您使用的是x86))

http://people.centos.org/tru/devtools-1.1/6/i386/RPMS/

最後運行:

yum install devtoolset-1.1

1
2017-09-14 11:25





實現這一目標的一種方法是獲取 src 來自fedora存儲庫的RPM,並為目標系統重新編譯它們。
Fedora 17 後來提供 gcc 4.7


0
2018-05-13 06:30