Как установить 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