Як встановити gcc-4.8


94

Я перевірив версію gcc у своїй системі.

В даний час це 4.6.3. Я прочитав, що gcc-4.8 вийшов.

Я успішно спробував такі команди:

sudo apt-get install gcc (gcc is already the newest version)
sudo apt-get install gcc-4.8 (unable to locate package)

Хтось знає, як встановити цей пакет 12.04?


@ відповідь maggotbrain працювала на мене, хоча мені довелося додати: sudo apt-get install gcc-multilib, коли я працював над цим питанням: superuser.com/questions/432202/make-fails-compiling-gcc
skillman

2
Примітка майбутнім googlers: Якщо ви отримуєте повідомлення про помилку, як невизначене посилання на `lexer_line ', це через відсутні інструменти: bison і flex sudo apt-get install bison sudo apt-get install flex, як зазначено тут: http: // stackoverflow. com / questions / 4262531 / problem-building-gcc-4-6
virtualPN

Відповіді:


119

Чи доступний GCC-4.8 на 12.04 Точно?

Оновлення : станом на 6.05.2013 наразі випуск gcc 4.8.1 за 12.04 (точно) доступний на веб- сайті https://launchpad.net/~ubuntu-toolchain-r/+archive/test .

Коротка відповідь така: gcc-4.8наразі доступна за 12.04 (точно) через ланцюжок інструментів PPA або шляхом складання джерела (детальніше див. Нижче).

Оголошення про звільнення

Заява про звільнення GCC-4.8 було зроблено 22 березня, так що ви , ймовірно , не будете бачити це в офіційному репозиторії тільки поки.

Однак, виявляється, що в Launchpad є PPA, доступний для складання тестових ланцюгів інструментів , який включає gcc-4.8, тут: https://launchpad.net/~ubuntu-toolchain-r/+archive/test

Відповідно до списку змін та списку пакунків , існують набори для i386, amd64, arm та powerpc та були побудовані проти рейтингу 13.04.

Остання доступна версія gcc, що становить 12.04, становить 4.8.1 і доступна в ланцюжку інструментів PPA.

Додавання ланцюжка інструментів / тесту PPA:

Щоб додати PPA до вашої системи, відкрийте термінал ( Ctrl+ Alt+ t) і запустіть такі команди:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50

Вам також буде запропоновано встановити ряд запропонованих пакетів. Ці пакети рекомендуються, але необов'язково, для встановлення gcc-4.8.

Які функції C ++ доступні в gcc-4.8, які недоступні в gcc-4.7.2?

  • За даними GNU.ORG , gcc-4.7 підтримує ряд C ++ 11 функцій .
  • Що стосується випуску gcc-4.8, gcc-4.7 не підтримує 8 із 64 функцій (див. Підтримку C ++ 0x / C ++ 11 у GCC )

  • Ці функції:

    Language Features
    - Rvalue references for *this
    - Generalized attributes
    - Alignment support
    - Inheriting constructors
    Concurreny
    - Bidirectional Fences
    - Memory model
    - Abandoning a process and at_quick_exit
    - Thread-local storage 
    
  • Повний список змін в ПКУ-4,8 см список змін

Мені потрібні ці функції gcc на 12.04 Точно, зараз. Як я можу їх отримати?

Збірка GCC-4.8 від джерела:

Якщо вам потрібен gcc-4.8 12.04, ваш єдиний варіант - це створити його з джерела .

Будь ласка, прочитайте поширені запитання про встановлення GCC перед встановленням.

Ви можете завантажити gcc-4.8 з одного з дзеркальних сайтів gnu.org або безпосередньо з SVN-сервера .

Ось приклад етапів компіляції з джерела (див. Тут для додаткових відомостей.) Зауважте, що вони можуть відрізнятися залежно від вашої системи та налаштувань.

  1. Завантажте вихідний код

    • Скласти каталог збірки ( mkdir gcc-build && cd gcc-build)
    • Завантажте вихідний файл: wget http://www.netgull.com/gcc/releases/gcc-4.8.0/gcc-4.8.0.tar.bz2(відкоригуйте цю команду для використання відповідного дзеркального сайту .
    • Розпакуйте файл ( tar -xvjf <file name>)
  2. Встановити деякі додаткові бібліотеки ( sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev)

  3. Складіть джерело: ./gcc-4.8.0/configure --prefix=/app/gcc/4.8.0
  4. Запустіть make(це займе певний час, щоб завершити. Ідіть приготуйте каву або спечіть печиво.
  5. Встановіть код: sudo make install

Після завершення цього процесу запустіть команду, gcc --versionщоб переконатися, що установка успішно завершена. Ви повинні побачити щось подібне до наступного виводу:

maggotbrain@foucault:~$ gcc --version
gcc (Linaro 4.8.0) 4.8.0
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Суть: Дякую всім людям, які пропонують вам прості установки для Ubuntu-опор. Дайте їм печиво, яке ви запікали під час бігу make. ;-)


Відмінна відповідь, за винятком:E: Unable to locate package gcc-4.8
Джон Даблінг

2
Встановлення додаткових бібліотек мені було недостатньо, але запуск ./contrib/download_prerequisites.shвиправлений (із stackoverflow.com/questions/9253695/… ).
Готьє

7
Примітка: мені також довелося встановити пакет g ++ - 4.8 (крім gcc-4.8), щоб можна було компілювати код C ++. В іншому випадку я отримую помилку компіляції: gcc: error trying to exec 'cc1plus': execvp: No such file or directory 4.8.
Борис Дальштейн

Мені вдалося встановити gcc4.8 на Precision
Homunculus Reticulli

1
@ John Dibling - Впевнений, що відкритий метод не встановлює файли, проте як такий ви ніколи не будуєте жодного пакету, а також не встановлюєте жодного ... значить, ви не можете його знайти (їх) :-). Ну, є швидкий спосіб автоматичного створення пакетів за допомогою папки debian за посиланням . Я зробив це успішно для інших пакетів. Це рішення встановить усі пов'язані пакети, включаючи g ++ тощо ...
Антоніо,

1

Тому відповідь вище працює, принаймні для ручної установки. Хоча навіть після цього sudo make install, біг gccвсе ще просто працює з версією 4.6.3. Навіть намагаюся gcc-4.8чи gcc-4.8.0не виходить. Біг, /app/gcc/4.8.0/bin/gccздається, є єдиним, що працює для мене. Я маю на увазі, що це кульга, але принаймні це працює.


5
[: facepalm:] Перш ніж називати речі "кульгавими", можливо, ви повинні оновити знання своїх операційних систем. Ви можете почати з читання концепції PATH: en.wikipedia.org/wiki/PATH_(variable)
pszilard

1
Зрозуміло, що ви також не встановлюєте жоден пакет із сценарієм DEBIAN / postinst, ви повинні вручну встановити версію за замовчуванням для використання вашою системою через cmd -альтернативи для оновлення . рядок ... Якщо ви використовували --prefix = / usr, не потрібно втручатися в PATH ...
Антоніо,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.