Встановити 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 на сервері 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

Дякую Steeldriver. Розширення карети з написом "Технічні подробиці щодо цього ЗІЗ", схоже, показує його доступність до 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 за допомогу. Причиною цього я уникнув, це те, що я не зміг встановити походження для деяких ЗДЗ.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.