Как установить GCC 5 на Debian Jessie 8.1

Как установить GCC 5 на Debian Jessie 8.1

Я перепробовал много решений для установки обновления для моего компилятора gcc на сервере Debian. Ни одно из них не сработало. Мне нужно обновление компилятора для использования новых возможностей c++11, так как это обеспечивает стабильный ABI libcxx11 и стабильную поддержку C++11 (см.здесь). В частности, получение версии `GLIBCXX_3.4.21', которая не включена в мой текущий компилятор gcc версии 4.9.2 (Debian 4.9.2-10).

Некоторые указания по решению будут полезны. Спасибо заранее.

Некоторые ссылки на форумы, связанные с моей проблемой, которые я уже опробовал:

1 2 3(не совсем похожее решение для Ubuntu, но я пока не смог найти gcc-5 на ftp-сервере Debian)

решение1

Мне нужно было установить GCC 5+ на Debian Jessie, и, поскольку он доступен для тестирования Debian (по крайней мере, на 16 июня), вы можете использовать apt-pinning для установки пакетов, доступных там (см.https://wiki.debian.org/AptPreferences).

Чтобы установить GCC 5+ из тестового выпуска на Debian Jessie с помощью apt-pinning:

  1. Добавьте репозиторий Debian Testing в исходники apt, создав в каталоге файл, /etc/apt/sources.list.dсодержащий строку

    deb http://ftp.us.debian.org/debian testing main contrib non-free

  2. Дайте указание Debian использовать тестовые исходные коды для определенных пакетов, создав файл, /etc/apt/preferences.dсодержащий следующее:

    Package: *
    Pin: release a=testing
    Pin-Priority: 100
    
  3. Обновление базы данных apt:sudo apt-get update

  4. Установите gcc из тестирования:sudo apt-get install -t testing gcc

    Обратите внимание, что при использовании -t testingapt-get вы указываете установить gcc из тестовых источников, как настроено ранее.

Я настоятельно рекомендую очистить всю компиляцию и перекомпилировать все зависимости перед повторной компиляцией исходных кодов.

Веселиться!

решение2

По состоянию на 19 февраля 2017 г. gcc-5 былудаленныйиз тестирования:

https://tracker.debian.org/pkg/gcc-5

Вы можете это сделать apt-get install gcc-5, если сначала выполните эту строку как root:

echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" > /etc/apt/sources.list.d/unstable.list

Затем вы, вероятно, захотите изменить приоритет этого источника в /etc/apt/preferences.dсоответствии с ответом llekn.

решение3

Чтобы объединить два предыдущих ответа в один работающий:

echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list
apt-get update
apt-get install -t unstable gcc-5

НО!!! Используйте это на свой страх и риск, так как вы устанавливаете пакеты из нестабильной версии. Вы также можете захотеть удалить их /etc/apt/sources.list.d/unstable.listпосле установки пакетов.

Если возможно, устанавливайте под Docker, чтобы не испортить ОС. Ваш опыт может отличаться.

решение4

Мне удалось установить gcc-5из репозиториев Ubuntu на Debian 10.13 "buster". Это действительно плохая практика, но у меня не было другого выбора.

Вот команды (дружественные CI)

apt-get remove -y gcc
echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial main" >> /etc/apt/sources.list.d/buster.list
echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial universe" >> /etc/apt/sources.list.d/buster.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32
apt-get update
apt-get install -y gcc-5 g++-5
ln -s /usr/bin/gcc-5 /usr/bin/gcc
ln -s /usr/bin/g++-5 /usr/bin/g++

Связанный контент