Я пытаюсь установить OpenFace toolkit на свою систему с помощью Ubuntu 20.04 Terminal. Для установки требуется gcc/g++ версии 8. Я проверил текущую версию gcc на своей системе, и она показывает, что установленная версия — gcc-11. Есть ли способ заменить версию gcc-11 на gcc-8 или загрузить пакет gcc-8, а затем установить его? Помощь была бы признательна, спасибо.
решение1
Пакет gcc-8 больше не поддерживается в репозиториях Ubuntu 22.04 и более поздних версиях по умолчанию, но он все еще доступен в репозиториях Ubuntu 20.04 по умолчанию. Чтобы установить пакет gcc-8 из Ubuntu 20.04 в Ubuntu 22.04, выполните следующие команды:
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
Первоначальный ответ (теперь устарел):
Пакет gcc-8 больше не поддерживается в репозиториях Ubuntu 22.04 и более поздних версиях по умолчанию. Чтобы установить пакет gcc-8 из Ubuntu 21.10 в Ubuntu 22.04, выполните следующие команды:
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
Другое решение — это то, что предложил Джодели.'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
Надеюсь это поможет.