Как установить g++ 4.9 на Debian Wheezy armel?

Моя встраиваемая система Debian 7 armel в настоящее время имеет g++ 4.6, и я хотел бы перейти на g++ 4.9, чтобы использовать новые функции C++11. Как я могу это сделать?

Мое текущее содержание sources.list:

    deb http://security.debian.org/ wheezy / updates main
    deb-src http://security.debian.org/ wheezy / updates main
    deb http://ftp.us.debian.org/debian wheezy основной несвободный
    deb-src http://ftp.us.debian.org/debian wheezy main non free

Простая установка пакета apt-get не работает:

    root @ arm: ~ # apt-get install g ++ - 4.9
    Чтение списков пакетов... Готово
    Построение дерева зависимостей
    Чтение информации о состоянии... Готово
    E: Невозможно найти пакет g++-4.9
    E: Не удалось найти ни одного пакета с помощью регулярного выражения 'g++-4.9'

4 ответа

Другим обходным путем может быть установка пакетов g++ 4.9 от "Jessie", согласно этому сообщению в блоге. Вкратце, вы должны указать APT использовать репозитории Jessie во время установки нового G++. Сначала приведите текущую версию Wheezy:

sudo apt-get update
sudo apt-get upgrade

Затем сделайте резервную копию:-) и отредактируйте /etc/apt/sources.list чтобы заменить строку "wheezy" с "jessie":

sudo cp /etc/apt/sources.list /etc/apt/sources.list.WHEEZY
sudo vi /etc/apt/sources.list

Теперь обновите список пакетов и установите версию 4.9 GCC/G++:

sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9

После этого вернитесь к "оригинальному" списку пакетов:

sudo cp /etc/apt/sources.list.WHEEZY /etc/apt/sources.list
sudo apt-get update

Это оставляет оригинальный GCC,G++ на месте. Если вы хотите скомпилировать с версией 4.9, либо установите CC а также CXX env vars соответственно или вызывать компиляторы как gcc-4.9 или же g++-4.9 в явном виде.

Возможно, требуется: packaging-dev, ubuntu-dev-tools

Настроить pbuilder

(это позволяет вам собрать пакет в chroot, не загрязняя вашу систему пакетами для зависимостей сборки)

sudo pbuilder create

если вы хотите собрать для определенного дистрибутива (pbuilder использует выпуск системы сборки в chroot), вы можете использовать pbuilder-dist [точное / oneric /trusy / и т.д....] create

Получить исходный код Debian

pull-debian-source gcc-4.9 [4.9.0-6] 

специальная ревизия Debian является необязательной, но может быть полезна, если вы хотите получить экспериментальные / нестабильные / тестирующие / стабильные ревизии, которые вы также можете извлечь из определенных дистрибутивов Ubuntu, добавив их в sources.list как deb-src и используя sudo apt-get src

Пакет сборки

sudo pbuilder build gcc-4.9_4.9.0-6.dsc

В загруженных файлах есть файл.dsc, для самого последнего gcc это gcc-4.9_4.9.0-6.dsc, который является файлом дескриптора пакета. .orig.tar.[gz/xz] является исходным архивом.

Создать локальный Apt-репозиторий

mkdir /convenient/place/for/repo
cp /var/cache/pbuilder/result/* /path/to/repo
cd /path/to/repo
apt-ftp archive packages . > Packages
sudo echo "deb [trusted=yes] file:/local/repo/Packages ./" > /etc/apt/sources.list.d/gcc-repo.list`

Обратите внимание, что вы также можете выполнить этот шаг с загрузкой.debs из любого места (пропустите шаг 1-3)

устанавливать

apt-get update; apt-get install gcc-4.9 g++-4.9

Вместо того, чтобы использовать пакеты jessie, было бы лучше проверить, был ли он обратно портирован на wheezy. Добавьте это к вашему /etc/apt/sources.list:

deb http://http.debian.net/debian wheezy-backports main

и сделать apt-get update и посмотрим, сможете ли вы установить его тогда.

Теперь есть gcc-4.9-backport.

sudo apt-get update && sudo apt-get install gcc-4.9-backport
Другие вопросы по тегам