Как установить gcc-7 или clang 4.0?
Я хочу попробовать функции C++17 и установить стандартный совместимый компилятор (предпочтительно GCC). Я совершенно новичок в Linux и Ubuntu, и я просто немного не понимаю.
Я пытался следить за https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test но безуспешно. Сначала я побежал:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
Как я понял эта команда устанавливает несколько ключей. Далее я попробовал:
sudo add-apt-repository ppa:ubuntu-toolchain-r/gcc-7
Что вернулся:
Error: 'ppa:ubuntu-toolchain-r/gcc-7' invalid
Далее я попытался установить ветку разработки clang:
apt-get install clang-4.0 lldb-4.0
И это дает мне
E: Unable to locate package clang-4.0
E: Couldn't find any package by glob 'clang-4.0'
E: Couldn't find any package by regex 'clang-4.0'
E: Unable to locate package lldb-4.0
E: Couldn't find any package by glob 'lldb-4.0'
E: Couldn't find any package by regex 'lldb-4.0'
Что все это значит? В чем дело?
3 ответа
Вы уже можете установить gcc-7 и g++-7 из этого пакета.
sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt-get update
sudo apt-get install gcc-7 g++-7
Ubuntu 16.04 и ниже
Существует официальный тестовый PPA Ubuntu GCC, который следует отдавать предпочтение:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-7 g++-7
gcc-7 --version
GCC 7 был выпущен в мае 2017 года, поэтому слишком поздно для 17.04 основного выпуска.
PPA в настоящее время не имеет GCC для более новых версий, например, 16.10, только LTS 12.04, 14.04 и 16.04, как можно увидеть по адресу: https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test | снимок Я думаю, что это было 17.04 ранее, но это было удалено? Смотрите также: https://unix.stackexchange.com/questions/371737/install-gcc-7-on-ubuntu
Проверено на Ubuntu 16.04, октябрь 2018.
Ubuntu 17.10 и выше
Имеет GCC 7.2 и clang 4 по умолчанию! https://packages.ubuntu.com/artful/gcc | https://packages.ubuntu.com/artful/clang
$ gcc --version
gcc (Ubuntu 7.2.0-8ubuntu3) 7.2.0
$ clang --version
clang version 4.0.1-6 (tags/RELEASE_401/final)
GCC 8 на 16.04
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-8 g++-8
gcc-8 --version
дает 8.1.0 по состоянию на 2018-11.
По умолчанию в Ubuntu 18.04:
Crosstool-NG
Если вы действительно серьезно относитесь к этому, скомпилируйте и используйте свой собственный GCC с Crosstool-NG, как описано по адресу: https://stackoverflow.com/questions/847179/multiple-glibc-libraries-on-a-single-host/52454603
Это позволит вам использовать самые разные версии GCC в самых разных версиях Ubuntu, не загружая большие двоичные объекты с PPA, которым вы не обязательно доверяете.
ОП просит "как установить...". Как вариант, как скомпилировать Clang 4.0.
Вы можете компилировать из исходного кода, используя скрипт из репозитория Microsoft ChakraCore GitHub.
wget https://raw.githubusercontent.com/Microsoft/ChakraCore/master/tools/compile_clang.sh
Обновить LLVM_VERSION="3.9.1"
в строке 7 до LLVM_VERSION="4.0.0"
sudo ./compile_clang.sh
Он загрузит и скомпилирует Clang 4.0 (и весь набор инструментов компилятора) с поддержкой LLVM Gold.
Вот мой шаг по установке gcc-7/g++-7 в Ubuntu 16.04 LTS И сделать его по умолчанию.
Сначала установите gcc-7/g++-7 с помощью официального ppa.
sudo apt update -qq
sudo apt install -yq software-properties-common
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt update -qq
sudo apt install -yq g++-7
с участием:
-y
: автоматическое подтверждение-q
: тихий режим (несколько повышают тихий уровень)
Затем сделайте его альтернативой по умолчанию
sudo update-alternatives \
--install /usr/bin/gcc gcc /usr/bin/gcc-7 60 \
--slave /usr/bin/g++ g++ /usr/bin/g++-7 \
--slave /usr/bin/gcov gcov /usr/bin/gcov-7 \
--slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-7 \
--slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-7 \
--slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-7 \
--slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-7
сейчас работает
gcc --version
должен вернуть gcc 7.4.0 IIRC