Рейтинг:0

Установите gcc/g++ 6 на Ubuntu 21.04

флаг cn

Я пытаюсь скомпилировать Cuda 10.2, и, как ожидается, gcc-10 не сможет его скомпилировать. При использовании 20.04 это было просто: добавить бионический репозиторий, обновить, установить, обновить альтернативы. Используя 21.04, я ничего не могу заставить работать.

Я пробовал как с xenial, так и с бионическими репозиториями «main» и «universe», что выдает ошибку о PUBKEY. Я получил PUBKEY с сервера ключей Ubuntu и обновил список пакетов, ошибок нет.

sudo apt установить g++-6

Пакет g++-6 недоступен, но на него ссылается другой пакет.
Это может означать, что пакет отсутствует, устарел или
доступен только из другого источника

E: Пакет "g++-6" не имеет кандидата на установку.

источники.список ->

deb http://archive.ubuntu.com/ubuntu hirsute ограниченная основная мультивселенная

deb http://archive.ubuntu.com/ubuntu hirsute-updates ограничивает основную мультивселенную

deb http://archive.ubuntu.com/ubuntu hirsute-security ограниченная основная мультивселенная

# gcc-6
deb [allow-insecure=yes] http://dk.archive.ubuntu.com/ubuntu/ бионическая основная вселенная
#deb [allow-insecure=yes] http://dk.archive.ubuntu.com/ubuntu/ основная вселенная xenial

Кто-нибудь знает, как я могу добиться этого с помощью Ubuntu 21.04? В каждом посте, который я читал, говорится, что нужно добавить бионические или xenial репозитории, обновить, установить. Мне пока не повезло.

cocomac avatar
флаг cn
Просто предупреждение ... Я зашел на [веб-сайт CUDA] (https://developer.nvidia.com/cuda-10.2-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu), и там нет 21.04. как версия, которую вы можете скачать. Вместо этого я предлагаю [загрузить CUDA 11.4](https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04), который как минимум поддерживает 20.04. Вы могли видеть, работает ли он в 21.04. Я не знаю.
cocomac avatar
флаг cn
Кроме того, я думаю, что у вас [проблема XY] (https://meta.stackexchange.com/a/66378/1081494). Если вы сообщите нам, почему вам нужна CUDA 10.2 и почему вы хотите скомпилировать ее самостоятельно, мы можем попытаться помочь.
baudneo avatar
флаг cn
Я устанавливаю CUDA 10.2 в lxc для запуска некоторого программного обеспечения для обнаружения объектов. В итоге я взял большинство пакетов и установил их вручную.
Рейтинг:0
флаг cn

Я взял нужные мне пакеты (.deb) из репозиториев Ubuntu. здесь.

Вот список пакетов .deb, которые мне понадобились для ручной установки gcc/g++ 6. Устанавливайте в порядке списка. Это предполагает, что у вас есть большинство инструментов, необходимых для компиляции, и вы просто хотите переключить версии gcc по умолчанию.

sudo подходящая установка ./libisl19_0.19-1_amd64.deb
sudo подходящая установка ./gcc-6-base_6.4.0-17ubuntu1_amd64.deb
sudo подходящая установка ./cpp-6_6.4.0-17ubuntu1_amd64.deb

# вы можете взять этот следующий пакет из репозитория 21.04, он обрабатывает множество зависимостей.
sudo apt установить libgcc-6-dev

# В заключение
sudo подходящая установка ./gcc-6_6.4.0-17ubuntu1_amd64.deb

# Теперь GCC-6 установлен, вы можете проверить это с помощью gcc-6 -v
baudneo@ZMES-тест:~$ gcc-6 -v
gcc версии 6.4.0 20180424 (Ubuntu 6.4.0-17ubuntu1)

# Теперь для G++ 6
sudo apt install ./libstdc++-6-dev_6.4.0-17ubuntu1_amd64.deb
sudo apt install ./g++-6_6.4.0-17ubuntu1_amd64.deb

# G++-6 теперь установлен! тест g++-6 -v
baudneo@ZMES-тест:~$ g++-6 -v
gcc версии 6.4.0 20180424 (Ubuntu 6.4.0-17ubuntu1)

# Теперь пришло время настроить систему для использования GCC G++ 6
# Это предполагает, что у вас не установлены другие версии gcc и g++ для других проектов

sudo update-alternatives --remove-all gcc 
sudo update-alternatives --remove-all g++
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 100
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 100
sudo update-alternatives --set С++ /usr/bin/g++
# Если вы хотите вернуть их к значениям по умолчанию gcc-10
sudo update-alternatives --remove-all gcc 
sudo update-alternatives --remove-all g++
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
sudo update-alternatives --set С++ /usr/bin/g++

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.