Я попытался получить компиляторы выше, чем gcc / gpp-5 для Ubuntu 16.04 (xenial).
Я добавил эти строки в /etc/apt/sources.list
deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main
deb-src http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main
deb http://ppa.launchpad.net/jonathonf/gcc/ubuntu xenial main
deb-src http://ppa.launchpad.net/jonathonf/gcc/ubuntu xenial main
, когда запустил «apt update», после чего получил следующее:
Err:9 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1E9377A2BA9EF27F
Err:16 http://ppa.launchpad.net/jonathonf/gcc/ubuntu xenial InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8CF63AD3F06FC659
Затем я попытался добавить ключи:
# apt-key adv --keyserver keyserver.ubuntu.com --recv-key 1E9377A2BA9EF27F
Executing: /tmp/tmp.hQqulW3vSQ/gpg.1.sh --keyserver
keyserver.ubuntu.com
--recv-key
1E9377A2BA9EF27F
> gpg: requesting key BA9EF27F from hkp server keyserver.ubuntu.com
gpgkeys: key 1E9377A2BA9EF27F not found on keyserver
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
gpg: keyserver communications error: key not found
gpg: keyserver communications error: bad public key
gpg: keyserver receive failed: bad public key
# apt-key adv --keyserver keyserver.ubuntu.com --recv-key 8CF63AD3F06FC659
Executing: /tmp/tmp.9sbMVJgRDb/gpg.1.sh --keyserver
keyserver.ubuntu.com
--recv-key
8CF63AD3F06FC659
gpg: requesting key F06FC659 from hkp server keyserver.ubuntu.com
gpgkeys: key 8CF63AD3F06FC659 not found on keyserver
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
gpg: keyserver communications error: key not found
gpg: keyserver communications error: bad public key
gpg: keyserver receive failed: bad public key
Как просто получить набор более новых компиляторов для этой платформы?
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ У нас есть июль 2019 года и когда-то работающие рецепты для этого всего 8 месяцев назад просто отказали в системе LTS ...
(разработка этого решения частично основана на диалоговом окне между N0rbert и мной в его первоначальном предложении),
понимание проблемы, развитой до такой степени, когда "gpg" доступ, было найдено как проблематичная/повисшая операция. комментарий пользователя "nobar" был самым полезным для получения заключительной подсказки:
gpg: no valid OpenPGP data found.
In this scenario, the message is a cryptic way of telling you that the download failed.
посмотрите их тема в полном размере, обсужденном там: https://stackoverflow.com/questions/21338721/gpg-no-valid-openpgp-data-found
теперь для того, чтобы сделать работу вокруг для решения проблемы в теме прямо здесь...
перейдите к http://keyserver.ubuntu.com/ - для каждого из недостающих ключей (BA9EF27F / F06FC659) сделайте:
выполните команду follwing, как поддерживают каждый из загруженных файлов:
apt-key add ***name-of-the-file***
когда вышеупомянутое сделано два раза (для каждого ключа однажды), затем выполняет это для проверки, если это работало:
apt update
результаты должны содержать помимо нескольких других строк также что-то как эти строки:
Get:23 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial/main Sources [13.4 kB]
Get:24 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial/main amd64 Packages [86.8 kB]
Get:25 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial/main i386 Packages [85.1 kB]
Get:27 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial/main Translation-en [14.4 kB]
Get:28 http://ppa.launchpad.net/jonathonf/gcc/ubuntu xenial/main Sources [12.1 kB]
Get:29 http://ppa.launchpad.net/jonathonf/gcc/ubuntu xenial/main amd64 Packages [79.7 kB]
Get:30 http://ppa.launchpad.net/jonathonf/gcc/ubuntu xenial/main i386 Packages [78.4 kB]
Get:31 http://ppa.launchpad.net/jonathonf/gcc/ubuntu xenial/main Translation-en [15.7 kB]
заключительная операция об установке дополнительных gcc версий по Вашему выбору:
apt install gcc-6 g++-6
apt install gcc-7 g++-7
apt install gcc-8 g++-8
apt install gcc-9 g++-9
Это наконец успешно выполнилось для меня. Все объекты были получены из http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu в amd64 версии репозитория. Я предполагаю, что должен подкачать строки в sources.list файле, если я когда-нибудь хочу установить более высокий приоритет на другом PPA.
При проверке версии установленных gcc двоичных возвратов на данный момент это пишет сообщение:
# gcc-6 --version
gcc-6 (Ubuntu 6.5.0-2ubuntu1~16.04) 6.5.0 20181026
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# gcc-7 --version
gcc-7 (Ubuntu 7.4.0-1ubuntu1~16.04~ppa1) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# gcc-8 --version
gcc-8 (Ubuntu 8.3.0-16ubuntu3~16.04) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# gcc-9 --version
gcc-9 (Ubuntu 9.1.0-2ubuntu2~16.04) 9.1.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
При проверке версии установленного g ++ двоичные возвраты на данный момент это пишет сообщение:
# g++-6 --version
g++-6 (Ubuntu 6.5.0-2ubuntu1~16.04) 6.5.0 20181026
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# g++-7 --version
g++-7 (Ubuntu 7.4.0-1ubuntu1~16.04~ppa1) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# g++-8 --version
g++-8 (Ubuntu 8.3.0-16ubuntu3~16.04) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# g++-9 --version
g++-9 (Ubuntu 9.1.0-2ubuntu2~16.04) 9.1.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Обновление: Они управляют (на данный момент) очевидно использует PPA Jonathon:
# apt install clang
В настоящее время результаты команды в этом присваивают версию:
$ clang --version
clang version 3.8.0-2ubuntu3~trusty5 (tags/RELEASE_380/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
# clang++ --version
clang version 3.8.0-2ubuntu3~trusty5 (tags/RELEASE_380/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Рассмотрим использование add-apt-repository
следующим образом:
для тестовых сборок инструментария PPA
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
Этот PPA имеет GCC-9, поэтому вы можете установить его с
sudo apt-get install gcc-9
sudo add-apt-repository ppa:jonathonf/gcc
sudo apt-get update
(этот PPA не имеет GCC-9 для Ubuntu 16.04 LTS)
Примечания:
add-apt-repository
, вы можете установите его, установив один пакет с sudo apt-get install software-properties-common
, если вы предпочитаете добавлять строки репозитория и ключи GPG по отдельности, то вы можете выполнять команды с помощью коротких клавиш:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA9EF27F
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F06FC659
или длинные (полные) ключи
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 60C317803A41BA51845E371A1E9377A2BA9EF27F
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4AB0F789CBA31744CC7DA76A8CF63AD3F06FC659
На LaunchPad имеются другие PPA, относящиеся к GCC 9 .