Как установить gcc-4.8

Я проверил версию 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?

Доступен ли GCC-4.8 для версии 12.04 прямо сейчас?

Обновление: По состоянию на 6/05/2013, в настоящее время существует версия gcc 4.8.1 для версии 12.04 (точная), доступная по адресу https://launchpad.net /~ubuntu-toolchain-r/+архив/тест.

Короткий ответ таков: gcc-4.8 в настоящее время доступен для 12.04 (точный) через toolchain PPA или путем компиляции исходного кода (подробности см. Ниже).

Объявление о выпуске

То объявление о выпуске gcc-4.8 было сделано 22 марта, так что вы, вероятно, пока не увидите это в официальном репозитории.

Однако, похоже, что Launchpad действительно имеет PPA, доступный для набор инструментов тестовые сборки, которые включают gcc-4.8, здесь: https://launchpad.net /~ubuntu-toolchain-r/+архив/тест

Согласно список изменений и список пакетов, есть debian для i386, amd64, arm и powerpc, и они были созданы для raring 13.04.

Последняя доступная версия gcc для 12.04 - 4.8.1 и доступна в PPA toolchain.

Добавление набора инструментов/тестового PPA:

Чтобы добавить PPA в вашу систему, откройте терминал(Ctrl+Alt+t) и выполните следующие команды:

sudo apt-get install python-software-propertiessudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt-get updatesudo apt-get install gcc-4.8sudo 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 constructorsConcurreny- Bidirectional Fences- Memory model- Abandoning a process and at_quick_exit- Thread-local storage 
  • Полный список изменений в gcc-4.8 см. в Список изменений

Мне нужны эти функции gcc с точностью до 12.04 прямо сейчас. Как я могу их получить?

Построение GCC-4.8 из исходного кода:

Если вам нужен gcc-4.8 на 12.04 сейчас, ваш единственный вариант - это создайте его из исходного кода.

Пожалуйста, прочтите Часто задаваемые вопросы по установке GCC перед установкой.

Вы можете скачать gcc-4.8 с одного из gnu.org 's зеркальные сайты или непосредственно из их 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 --versiongcc (Linaro 4.8.0) 4.8.0Copyright (C) 2013 Free Software Foundation, Inc.This is free software; see the source for copying conditions.  There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Итог: поблагодарите всех тех людей, которые предоставляют вам простые в установке бэкпорты Ubuntu. Дайте им немного печенья, которое вы испекли во время бега make. ;-)

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

Примечание для будущих пользователей Google:
Если вы получаете сообщение об ошибке типа неопределенная ссылка на `lexer_line’, это происходит из-за отсутствия инструментов: bison и flex sudo apt-get install bison sudo apt-get install flex, как указано здесь: http://stackoverflow.com/questions/4262531/trouble-building-gcc-4-6

Ответ @maggotbrain сработал для меня, хотя мне пришлось добавить: sudo apt-get install gcc-multilib, поскольку я столкнулся с этой проблемой: