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


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

Автор Тема: Сборка gcc.  (Прочитано 1909 раз)

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

Оффлайн fr0ster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Сборка gcc.
« : 26 Марта 2012, 10:57:26 »
Коллеги.
У меня на десктопе и ноуте стоит Ubuntu 10.04. В ней gcc  самое свежее 4.4.3, а для экспериментов нужен 4.6.*, 4.7.* или 4.8.*. Обычно для экспериментов у меня есть папочка ~/opt в нее и ставлю несистемные компайлеры, либы и прочий самосборный софт, который в пакет заворачивать нехочется. Так и сейчас поступил с gcc-4.6 и gcc-4.7.
Сконфигурил с prefix=~/opt/gcc4.6 и prefix=~/opt/gcc4.7 соответственно и собрал.
Дал команду make check, посыпались сообщения о том, что не пройдены тесты.
Плюнул, дал команду make install. Проверил как компилит HelloWorld, оба работают.
Попытался собрать компайлеры не системным, а самосборным, 4.5 собрать при помощи ~/opt/gcc4.6/bin/gcc-4.6, ну и 4.7 аналогично. Сборка обломалась на сборке ada компайлера. Отключил сборку ada, и все нормально собралось. Причем у 4.6 make check все тесты прошли, у 4.7 почти все. Стал разбираться почему сборка ada не прошла при использовании самосборного компайлера той же версии, что и собираемый, понял, что в какойто момент используется "граната не той системы" вместо gnatmske и прочей gnst`овщины версии 4.6/7 используется системный 4.4, в результате ошибка и вылет из сборки.
Кто может подсказать, как настроить переменные под кошерную сборку коомпайлера с включеной адой?
Плюс дополнительный вопрос. При сборке компайлера в Убунтне и в винде под mingw не генериться файлик crt2.o, но если в Убунте(да и в другом Linuxе) все без вопросов собирается, то в винде либо генериться ошибка "Не найден crt2.o" при сборке компайлера, либо при сборке HelloWorld-программки этим компайлером(если подкинуть crt2.o в соответствующие папки при сборке компайлера). У бинарных сборок mingw-gcc  этот файлик имеется. Откуда он берется? Что нужно сделать, чтобы он сгенерился?

Спасибо за ответ или ссылку на мануал или хаутушку или хоть куда с полезной информацией.

ЗЫ Лог при сборке и точный текст ошибок смогу приложить только из дома вечером.

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Сборка gcc.
« Ответ #1 : 26 Марта 2012, 11:41:57 »
Не проще ли поставить генту?
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн fr0ster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Сборка gcc.
« Ответ #2 : 26 Марта 2012, 16:52:23 »
Мне не всю систему собрать, мне только компайлер нужен самосборный.
Или у генту есть толковый талмуд на тему тулчейнов и верного пути сборки компайлера?

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Сборка gcc.
« Ответ #3 : 26 Марта 2012, 17:34:55 »
Там проще из сорцов собирать.
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

andrey_p

  • Гость
Re: Сборка gcc.
« Ответ #4 : 26 Марта 2012, 18:00:03 »
sudo apt-get install gcc-snapshotВызов
/usr/lib/gcc-snapshot/bin/gcc

Оффлайн fr0ster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Сборка gcc.
« Ответ #5 : 27 Марта 2012, 11:28:07 »
В 10.04 snapshot - 4.5.0?, а нужен 4.7/4.8.
Плюс нужно разобраться с переменными окружения, так как еще в винде ada-компайлер собирать.

Оффлайн CynicRus

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
"Only two things are infinite, the universe and human stupidity... and I'm not sure about the universe."  -- Albert Einstein

Оффлайн fr0ster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Сборка gcc.
« Ответ #7 : 27 Марта 2012, 15:25:04 »
Спасибо, про LFS как то не подумал.
Только жаль про ada-компайлеры там ничего. :-(

Оффлайн CynicRus

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
Re: Сборка gcc.
« Ответ #8 : 27 Марта 2012, 16:24:45 »
http://www.linuxfromscratch.org/blfs/view/cvs/general/gcc.html

Цитировать
The instructions below perform a “make bootstrap” instead of just a plain “make” intentionally. Even though it is assumed that the current version of GCC is installed in LFS, because this installation includes the Ada compiler as an installed language, a bootstrap is required. The GNAT compiler must be used for stage1 of the bootstrap in order to build Ada. If the process didn't use a “bootstrap” you could end up having a gcc installed on the system that was produced by a foreign compiler.
"Only two things are infinite, the universe and human stupidity... and I'm not sure about the universe."  -- Albert Einstein

Оффлайн fr0ster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Сборка gcc.
« Ответ #9 : 27 Марта 2012, 17:26:05 »
Спасиб, попробую вечером :)

Совсем уже гдаз замылился.

Оффлайн fr0ster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Сборка gcc.
« Ответ #10 : 31 Марта 2012, 09:30:48 »
По дополнительному вопросу это я протупил. В Windows при сборке нужен MingwRT из которого эти crt1.o, crt2.o, dllcrt1.o, dllcrt2.o и берется. По основному все еще разбираюсь, почему системным gnat ada-компайлер собирается, а самосборным нет.

Оффлайн fr0ster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Сборка gcc.
« Ответ #11 : 02 Апреля 2012, 10:04:20 »
Теперь по основному вопросу.

Талмуд по LFS таки не помогает в плане сборки gcc 4.8  самим собой.
В талмуде описана ситуация, когда системного ada-компайлера нет и перед сборкой ставим бинарный gnat не от gcc в директорию сборки, при сборке из системы ничего не тянется. А у меяня системный gnat есть. И тут либо системный сносить, либо сборку в chroot заворачивать.

Оффлайн fr0ster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Сборка gcc.
« Ответ #12 : 08 Апреля 2012, 20:56:28 »
По основному вопросу, если в директории, которую указываешь в опции --prefix установлен уже gcc, то при сборке нового ada-компайлер оттуда тянет библиотеки, а они не самосбором собраны, а системным компвйлером.

Похоже вопрос закрыт.

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Сборка gcc.
« Ответ #13 : 09 Апреля 2012, 14:19:53 »
Закрыто.

 

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