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

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

решение1

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

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

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

Анонс релиза

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

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

Согласножурнал изменений и список пакетов, есть deb-пакеты для i386, amd64, arm и powerpc, и они были собраны на основе Raring 13.04.

Последняя доступная версия gcc для 12.04 — 4.8.1, она доступна в Toolchain 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 
    
  • Полный список изменений в gcc-4.8 см. вСписок изменений

Мне нужны эти функции gcc в 12.04 Precise, сейчас. Как их получить?

Сборка 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. ;-)

решение2

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

Связанный контент