我正在嘗試使用 Ubuntu 20.04 終端在我的系統上安裝 OpenFace 工具包。安裝需要 gcc/g++ 版本 8 進行安裝。我檢查了系統上目前的gcc版本,它顯示安裝的版本是gcc-11。有沒有辦法用 gcc-8 取代 gcc-11 版本,或下載 gcc-8 軟體包,然後安裝它?幫助將不勝感激,謝謝。
答案1
gcc-8 軟體包已在 Ubuntu 22.04 及更高版本的預設儲存庫中停止使用,但在 Ubuntu 20.04 預設儲存庫中仍然可用。若要在 Ubuntu 22.04 中安裝 Ubuntu 20.04 的 gcc-8 軟體包,請執行以下命令:
sudo apt update
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/gcc-8_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-8/gcc-8-base_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/libgcc-8-dev_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/cpp-8_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/libmpx2_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/i/isl/libisl22_0.22.1-1_amd64.deb
sudo apt install ./libisl22_0.22.1-1_amd64.deb ./libmpx2_8.4.0-3ubuntu2_amd64.deb ./cpp-8_8.4.0-3ubuntu2_amd64.deb ./libgcc-8-dev_8.4.0-3ubuntu2_amd64.deb ./gcc-8-base_8.4.0-3ubuntu2_amd64.deb ./gcc-8_8.4.0-3ubuntu2_amd64.deb
原始答案(現已廢棄):
Ubuntu 22.04 及更高版本的預設儲存庫中已停止使用 gcc-8 軟體包。若要在 Ubuntu 22.04 中安裝 Ubuntu 21.10 的 gcc-8 軟體包,請執行以下命令:
sudo apt update
sudo apt remove gcc-11 # optional
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/gcc-8_8.5.0-0ubuntu4_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/gcc-8-base_8.5.0-0ubuntu4_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/libgcc-8-dev_8.5.0-0ubuntu4_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/cpp-8_8.5.0-0ubuntu4_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/libmpx2_8.5.0-0ubuntu4_amd64.deb
sudo apt install ./libmpx2_8.5.0-0ubuntu4_amd64.deb ./cpp-8_8.5.0-0ubuntu4_amd64.deb ./gcc-8-base_8.5.0-0ubuntu4_amd64.deb ./libgcc-8-dev_8.5.0-0ubuntu4_amd64.deb ./gcc-8_8.5.0-0ubuntu4_amd64.deb
我在上面的命令中刪除了 gcc-11 ,因為您在問題中提到您也想刪除它。如果您想要將 gcc-11 與 gcc-8 一起安裝,請省略該sudo apt remove gcc-11
指令。
答案2
另一個解決方案是 Jodeli 提出的“gcc-7”沒有安裝候選者問題。
在終端機中鍵入sudo nano /etc/apt/sources.list
並在文件末尾添加以下內容:
deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal main universe
然後執行:
sudo apt update
sudo apt install gcc-8 g++-8
另一個好的做法是使用update-alternatives
來管理不同版本的 gcc。例如,如果在執行這些步驟後,您的 /usr/bin 目錄中有 gcc-8 和 gcc-11,請在終端機中執行:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 20
sudo update-alternatives --config gcc
我不確定它是否比卡雷爾的好很多,因為它們都會導致依賴問題。我想編輯/etc/apt/sources.list
會更舒服,因為不必手動下載所有包。
答案3
我認為您沒有將 OpenFace 版本從 2.0.0 升級到 2.2.0
該腳本已在 14 個月前升級。
...
# If we're not on 18.04
sudo apt-get -y update
if [[ `lsb_release -rs` != "18.04" ]] then
echo "Adding ppa:ubuntu-toolchain-r/test apt-repository "
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get -y update
fi
sudo apt-get -y install build-essential
sudo apt-get -y install gcc-8 g++-8
...
有關的:
https://github.com/TadasBaltrusaitis/OpenFace
希望這可以幫助。