Как я могу установить GCC 4.8 на Raspberry Pi?


13

Как я могу установить GCC 4.8 на Raspberry Pi? Нужно ли мне скомпилировать его из исходного кода? Должен ли я обновить Raspbian wheezy до более новой версии?

Ответы:


4

Пока ваш Raspberry Pi обновлен, вы можете просто скачать и установить GCC 4.8 для запуска на Raspberry Pi.

  1. Скачать исходники GCC

    $ wget ftp://ftp.fu-berlin.de/unix/languages/gcc/snapshots/LATEST-4.8/*.bz2
    
  2. Извлечь источники

    $ tar xf gcc-4.8-20120826.tar.bz2
    
  3. Источники патчей

    Нам нужно получить и применить два специфичных для Debian патча для GCC:

    $ wget http://anonscm.debian.org/viewvc/gcccvs/branches/sid/gcc-4.7/debian/patches/armhf-triplet.diff?view=co -O armhf-triplet.diff
    $ wget http://anonscm.debian.org/viewvc/gcccvs/branches/sid/gcc-4.7/debian/patches/gcc-multiarch-trunk.diff?view=co -O gcc-multiarch-trunk.diff
    $ cd gcc-4.8-20120826
    $ patch -p2 -i ../armhf-triplet.diff
    $ patch -p2 -i ../gcc-multiarch-trunk.diff
    

    Примечание: в libgcc будет неудачный патч, не беспокойтесь об этом, так как он уже был применен к gcc-4.8.

  4. Воссоздать .autoconfфайлы:

    $ cd gcc
    $ autoconf2.64
    $ cd ../libjava
    $ autoconf2.64
    $ cd ../
    
  5. Компиляция и установка GCC: configure; make;make install


Больше не настраивать / не устанавливать?
Турбьерн Равн Андерсен

1
Что делает autoconf2.64?
HeatfanJohn

Похоже, что снимок gcc 4.8, с которым вы связались (шаг 1), больше не подключен. Похоже, они сохраняют только последние 3 месяца сборок. wget ftp://ftp.fu-berlin.de/unix/languages/gcc/snapshots/LATEST-4.8/*.bz2должен сделать свое дело, чтобы получить их последнюю сборку gcc 4.8. Также есть папки LATEST-4.9 и LATEST-4.10.
Ponkadoodle

Таким образом, после шага 4 нам еще предстоит выполнить все configure; make; make installкоманды? Потому что я не вижу никаких двоичных файлов, и gcc --versionвсе еще сообщает 4.6.
Ponkadoodle

@Wallacoloo Да, вы делаете. Я только что прошел процесс исправления GCC 4.8, чтобы он мог правильно скомпилироваться.
syb0rg

8

В 2015-02-16-raspbian-wheezy это gcc-4.8 уже как пакет (4.8.2), но не по умолчанию. Вы можете установить его apt-get install gcc-4.8 g ++ - 4.8 и затем изменить ссылки в / usr / bin /


0

Я попробовал вышеизложенное - столкнулся с несколькими проблемами. Это может быть проще (я сейчас пытаюсь):

http://www.raspberrypi.org/phpBB3/viewtopic.php?t=65516&p=481730


3
Если бы вы могли опубликовать суть направлений здесь, это было бы здорово! Это помогает предотвратить гниение ссылок, если что-либо изменится на связанном сайте.
Фред

Недостатком этого решения является то, что оно заставляет вас обновить ВСЮ систему до Debian Jessie. Это может очень хорошо вызвать проблемы совместимости для некоторых пользователей (включая меня).
Ponkadoodle

В соответствии с нашей политикой в ​​отношении ответов , содержащих только ссылки , если это сообщение не будет отредактировано и содержать информацию, которая может быть ответом, пусть и минимальным, через 48 часов, оно будет преобразовано в вики сообщества, чтобы упростить его исправление сообществом.
Ганима

0

Если какой-либо из этих вариантов у вас не работает (или вы используете что-то более новое), вы можете попробовать это. Я использую Raspian с рабочим столом (без прилагаемого программного обеспечения) на Raspberry Pi 4.

Я вошел /etc/apt/и изменил sources.list. Вторая строка в моем файле говорит:

# Uncomment line below then 'apt-get update' to enable 'apt-get source'
deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi

После этого запустите sudo apt-get updateи sudo apt-get upgrade, наконец,:

sudo apt-get install gcc-4.8

*** Примечание: если вы также хотите установить g ++ - 4.8 (как и я, для тензорного потока), вам нужно добавить эти две строки в ваш sources.listфайл:

deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi

Опять sudo apt-get update && sudo apt-get upgradeи потом:

sudo apt-get install g++-4.8
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.