Установить GCC 7 на Ubuntu?


11

Я пытаюсь запустить тест под GCC 7. Согласно Как установить gcc-7 или clang 4.0? на Ubuntu.SE мы можем выполнить следующее для установки GCC 7 на Ubuntu:

add-apt-repository ppa:ubuntu-toolchain-r/test && apt-get update && apt-get install -y gcc-7

Сбой команды при установке:

# apt-get install -y gcc-7
...
E: Unable to locate package gcc-7

И попробую 7.1:

# apt-get install -y gcc-7.1
...
E: Unable to locate package gcc-7.1
E: Couldn't find any package by glob 'gcc-7.1'
E: Couldn't find any package by regex 'gcc-7.1'

Согласно Списку всех пакетов из репозитория в Ubuntu / Debian на Server Fault, мы можем искать определенный репозиторий для пакета с:

# grep ^Package: /var/lib/apt/lists/ppa.launchpad.net_*_Packages | grep gcc-7
#

Но я не уверен, что команда выше ищет ppa:ubuntu-toolchain-r.

Я как бы собрал вещи, но они работают не так, как ожидалось. Либо неверный ответ Ubuntu.SE, либо сбой поиска сервера, либо я что-то не так делаю.

(У меня нет машины Debain 8, доступной для пакета gcc-7 , а в Fedora 25, похоже, отсутствует GCC 7. Так что я довольно сильно застрял в Ubuntu).

Что я делаю неправильно? Или как я могу установить GCC 7?


# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.10
Release:        16.10
Codename:       yakkety
ubuntu  apt  gcc  ppa 

3
ubuntu-toolchain-r/testPPA не появляется , чтобы обеспечить GCC-7 для Ubuntu 16.10 (Yakkety) - хотя он и для 16.04 (дружественный) и 17,04 (пикантный) - как вы можете увидеть, посетив «PPA для Ubuntu ToolChain Загрузок (ограниченная)» команда и фильтрация по сериям
стальдрайвер

Спасибо Steeldriver. Расширение каретки с надписью «Технические подробности об этом PPA», кажется, показывает, что она доступна для 16.10. Странно ... Думаю, я

PPA доступен для 16.10, но он не предоставляет все те же пакеты - возможно, потому что 16.10 не является выпуском LTS
steeldriver

Для тех, кто не может заставить это работать (как я), также посмотрите, Как я могу отменить добавление PPA и установку пакетов от этого? на Ubuntu Stack Exchange.

Ответы:


7

Для установки gcc-7на Ubuntu вы должны использовать этот ppa :

sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt-get update

Затем запустите: apt-cache search gcc-7

образец вывода:

gcc-7-base - GCC, the GNU Compiler Collection (base package)
gcc-7 - GNU C compiler
gcc-7-multilib - GNU C compiler (multilib support)
gcc-7-plugin-dev - Files for GNU GCC plugin development.
gcc-7-test-results - Test results for the GCC test suite
lib32gcc-7-dev - GCC support library (32 bit development files)
libgcc-7-dev - GCC support library (development files)
gcc-7-doc - Documentation for the GNU compilers (gcc, gobjc, g++)
gcc-7-hppa64-linux-gnu - GNU C compiler (cross compiler for hppa64)
gcc-7-locales - GCC, the GNU compiler collection (native language support files)
gcc-7-source - Source of the GNU Compiler Collection
libx32gcc-7-dev - GCC support library (x32 development files)
gcc-7-offload-nvptx - GCC offloading compiler to NVPTX
lib64gcc-7-dev - GCC support library (64bit development files)

Установить gcc-7:

sudo apt install gcc-7

6
Спасибо GAD3R. Ты знаешь, кто такой Джонатон? Я пытаюсь использовать экипировку Ubuntu, потому что ей уже доверяют. В противном случае мне придется прыгнуть через обруч, чтобы выяснить, кто такой Джонатонф, и определить, является ли он заслуживающим доверия источником.

Должно ли это работать и для Линаро?
Надав Б.

2

Ubuntu 18.04 имеет GCC 7 (7.3.0-16ubuntu3, на данный момент я пишу этот ответ) и GCC 8 (8-20180414-1ubuntu2). Больше нет необходимости добавлять сторонние репозитории: просто запустите sudo apt-get install gcc-7.


1

Если вам нужно настроить тестовую установку с помощью компилятора, тогда Fedora 26 поставляется с GCC 7.1.

Вы также можете найти GCC 7 в Debian 10 / Buster (Debian 9 с включенным репозиторием тестирования). Для Debian вы должны apt-get install gcc-7 g++-7.

Для полноты, не ясно, какая версия компиляторов Microsoft поддерживает C ++ 17 и std::byte(причина, по которой мне понадобился компилятор для тестирования).

И спасибо GAD3R за помощь. Причина, по которой я избегал этого, заключалась в том, что я не мог установить происхождение для некоторых PPA.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.