如何在 debian jessie 8.1 上安裝 GCC 5

如何在 debian jessie 8.1 上安裝 GCC 5

我嘗試了很多解決方案來在 debian 伺服器上安裝 gcc 編譯器的更新。他們都沒有工作。我需要編譯器更新才能使用 c++11 的新功能,因為這提供了穩定的 libcxx11 ABI,以及對 C++11 的穩定支援(請參閱這裡)。特別是取得版本“GLIBCXX_3.4.21”,該版本不包含在我目前的編譯器 gcc 版本 4.9.2 (Debian 4.9.2-10) 中。

一些解決方案的指示將會有所幫助。提前致謝。

我已經嘗試過的與我的問題相關的一些論壇連結:

1 2 3(不完全相關的解決方案適用於 ubuntu,但我在 debian 的 ftp 伺服器中找不到 gcc-5)

答案1

我需要在 debian jessie 上安裝 GCC 5+,並且可用於 debian 測試(至少在 jun-16),您可以使用 apt-pinning 來安裝那裡可用的軟體包(請參閱https://wiki.debian.org/AptPreferences)。

要使用 apt-pinning 在 debian jessie 上進行測試來安裝 GCC 5+:

  1. /etc/apt/sources.list.d透過在包含該行的目錄中建立一個文件,將 debian 測試儲存庫新增至您的 apt 來源中

    deb http://ftp.us.debian.org/debian testing main contrib non-free

  2. /etc/apt/preferences.d透過建立包含以下內容的檔案來指示 debian 在某些套件上使用測試來源:

    Package: *
    Pin: release a=testing
    Pin-Priority: 100
    
  3. 更新 apt 資料庫:sudo apt-get update

  4. 從測試中安裝 gcc:sudo apt-get install -t testing gcc

    請注意,使用-t testing告訴 apt-get 從前面配置的測試來源安裝 gcc。

我強烈建議在再次編譯原始程式碼之前清理所有編譯並重新編譯所有依賴項。

玩得開心!

答案2

截至 2017 年 2 月 19 日,gcc-5 已已刪除來自測試:

https://tracker.debian.org/pkg/gcc-5

apt-get install gcc-5如果您先以 root 身分執行此行,則可以:

echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" > /etc/apt/sources.list.d/unstable.list

然後,您可能希望/etc/apt/preferences.d根據 llekn 的答案更改該來源的優先順序。

答案3

要將之前的 2 個答案合併為一個有效的答案:

echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list
apt-get update
apt-get install -t unstable gcc-5

但!當您安裝來自 stable 的軟體包時,請自行承擔使用此功能的風險。/etc/apt/sources.list.d/unstable.list安裝軟體包後,您可能還想將其刪除。

如果可能,請在 Docker 下安裝,這樣就不會弄亂作業系統。你的旅費可能會改變。

答案4

我能夠gcc-5從 Debian 10.13“buster”上的 Ubuntu 儲存庫安裝。這是一個非常糟糕的做法,但我別無選擇。

這是命令(CI 友好)

apt-get remove -y gcc
echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial main" >> /etc/apt/sources.list.d/buster.list
echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial universe" >> /etc/apt/sources.list.d/buster.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32
apt-get update
apt-get install -y gcc-5 g++-5
ln -s /usr/bin/gcc-5 /usr/bin/gcc
ln -s /usr/bin/g++-5 /usr/bin/g++

相關內容