Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: [howto] Установка gcc 4.6.x на Ubuntu 10.04 из исходников  (Прочитано 8214 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dasumin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Здравствуйте. Пару недель назад у меня возникла потребность установить gcc 4.6.2 для сборки qt-приложений. Сходу найти howto по этой процедуре мне не удалось. PPA с новым gcc тоже установил что-то не то или не так. Я подумал, что лучше уж я тогда разберусь и поставлю из исходников.
Процесс получился чуть более сложным, чем стандартный ./configure-make-sudo checkinstall, поэтому я решил оформить его в howto.
Если на взгляд сообщества оно действительно полезно, то его можно добавить в сборник help-ов. Заранее прошу прощения, если создал тему не в том разделе.
Вероятно также, что в howto стоит что-то изменить, я что-то делаю не так -- поэтому буду рад критике, статью исправлю.

Скачиваем последнюю версию gcc (на момент написания how-to: 4.6.2):
   * http://gcc.gnu.org/mirrors.html
   * выбираем зеркало
   * идем в releases/gcc-4.6.2
Я скачиваю gcc (89 Мбайт) и gcc-g++ (9 Мбайт), tar.gz архивы
Теперь у меня в домашней папке лежат: gcc-4.6.2.tar.gz и gcc-g++-4.6.2.tar.gz
Про домашнюю папку -- важно: весь дальнейший процесс исходит из того, что вся работа производится в домашней папке.

Перед установкой надо убедиться, что стоят build-essential и checkinstall:
sudo apt-get install build-essential checkinstall
Распаковываю:
cd
tar -xvf gcc-4.6.2.tar.gz; tar -xvf gcc-4.6.2.tar.gz; tar -xvf gcc-g++-4.6.2.tar.gz

Скачиваю и распаковываю последние версии gmp, mpfr и mpc:
cd
wget http://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gmp/gmp-5.0.2.tar.gz;
wget http://mpfr.loria.fr/mpfr-current/mpfr-3.1.0.tar.gz;
wget http://www.multiprecision.org/mpc/download/mpc-0.8.2.tar.gz
tar -xvf gmp-5.0.2.tar.gz
tar -xvf mpfr-3.1.0.tar.gz
tar -xvf mpc-0.8.2.tar.gz
mv gmp-5.0.2 gcc-4.6.2/gmp
mv mpc-0.8.2 gcc-4.6.2/mpc
mv mpfr-3.1.0 gcc-4.6.2/mpfr

! Важно: в процессе компиляции gcc папка с ним выросла в размере чуть ли не до 4 Гбайт. Удостоверьтесь в наличии свободного места на рабочем разделе

Дальше необходимо поставить gmp. Мне для этого потребовалось поставить еще и m4
cd
sudo apt-get install m4
tar -xvf gmp-5.0.2.tar.gz
cd gmp-5.0.2/
./configure --prefix=/usr
sudo checkinstall

Дальше необходимо сделать какую-то магию =)
У меня получилось, что надо сконфигурировать и попробовать поставить скачанный mpfr. При этом поставить его не получится, потому что будет какой-то конфликт с установленным на предыдущем шаге gmp. Но от чего-то в gmp, в свою очередь, зависит сборка mpfr. При этом нас устроит то, что mpfr соберется, но не поставится: gcc скомилируется нормально.
cd
tar -xvf mpfr-3.1.0.tar.gz
cd mpfr-3.1.0
./configure   --prefix=/usr
sudo checkinstall

Дальше, собственно, запускаем компиляцию. Процесс это долгий, может занять пару часов
cd
cd gcc-4.6.2
./configure
make
sudo checkinstall

С checkinstall-ом надо везде соглашаться, кроме одного пункта: он выдает меню, где третьем пунктом идет установка версии пакета. Там по умолчанию стоит 4.6.2.

Так вот, чтобы менеджер пакетов не ругался на чужеродный элемент, надо изменить её на 4:4.6.2.

Можно проверить, что все поставилось нормально:
gcc -v
g++ -v

Версия должна быть 4.6.2

Единственное, что теперь еще надо сделать -- поправить ссылку cc на gcc:
cd /etc/alternatives/
sudo rm cc; sudo ln -s /usr/local/bin/gcc cc

Проверяем:
cc
Вывод должен быть таким же, как у gcc.

Оффлайн znavko

  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
Re: [howto] Установка gcc 4.6.x на Ubuntu 10.04 из исходников
« Ответ #1 : 20 Февраля 2012, 03:11:42 »
здравствуйте!
mpfr собрался, но не поставился, так как не нашел gmp
не ставится gcc. при выполнении make вот какая ошибка:
checking for MPFR... no
configure error: libmpfr not found or uses a differeny ABI.
make[2]: *** [configure-stage1-mpc] Ошибка 1
make[2]: Выход из каталога `/home/root/gcc-4.6.2'
make[1]: *** [stage1-bubble] Ошибка 2
make[1]: Выход из каталога `/home/root/gcc-4.6.2'
make: *** [all] Ошибка 2
« Последнее редактирование: 20 Февраля 2012, 03:14:57 от znavko »

Оффлайн k_a_m

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Доброго времени суток.
Используя ваш ман ни к чему не пришел, после небольшого гугления получил следующее:
иерархия директорий для сборки gcc-4.x должна выглядеть так
gcc/
   src/
      gcc-4.x/
             gmp -> ../gmp-x.x
             mpfr -> ../mpfr-x.x
      gmp-x.x
      mpfr-x.x
   build/
cd gcc/build
../src/gcc-4.x./configure
make
make check
make install

 

Страница сгенерирована за 0.074 секунд. Запросов: 25.