我正在尝试使用 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
管理不同版本的 gcc也是一种很好的做法update-alternatives
。例如,如果完成这些步骤后,您的 /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
我不确定它是否比 karel 的更好,因为它们都可能导致依赖性问题。我猜编辑/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
希望这可以帮助。