Як я можу встановити 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


Не налаштовувати / не встановлювати більше?
Thorbjørn Ravn Andersen

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. Також є папка ОСТАННІ-4,9 та ОСТАННІ-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 годин вона буде перетворена на Wiki Wiki, щоб спростити її виправлення спільнотою.
Ghanima

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 (як я, для tensorflow), вам потрібно буде додати ці два рядки у 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.