Коллеги.
У меня на десктопе и ноуте стоит 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 этот файлик имеется. Откуда он берется? Что нужно сделать, чтобы он сгенерился?
Спасибо за ответ или ссылку на мануал или хаутушку или хоть куда с полезной информацией.
ЗЫ Лог при сборке и точный текст ошибок смогу приложить только из дома вечером.