Ada_Ru форум

Обсуждение языка Ада

gnat-gpl-2007: mlib-tgt проблемма

Оставить новое сообщение

Сообщения

George Shapovalov
gnat-gpl-2007: mlib-tgt проблемма
2007-05-22 10:19:23

Привет всем.

Здесь кто то вроде писал, что ему удалось собрать gnat-gpl-2007 (из исходников). Вопрос к этому человеку (или к любому, кто может обьяснить следующий момент :)).

Что то у меня оно все время спотыкается на mlib-tgt.adb:

../../xgcc -B../../ -c -march=athlon64 -O2 -pipe -fomit-frame-pointer -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -gnatpg -gnata -I- -I../rts -I. -I/var/tmp/portage/dev-lang/gnat-gpl-4.1.3.2007/work/gcc-4.1.3/gcc/ada

mlib-tgt.adb -o mlib-tgt.o

mlib-tgt.adb:36:22: warning: file name does not match unit name, should be "mlib-tgt-specific.adb"

make[4]: *** [mlib-tgt.o] Error 1

make[4]: Leaving directory

`/var/tmp/portage/dev-lang/gnat-gpl-4.1.3.2007/work/build/gcc/ada/tools'

Сам mlib-tgt.adb вроде бы как является "пустым шаблоном" вместо которого подставляется мlib-tgt-linux.adb в процессе. Однако в последней версии обработка этого файла явно изменилась. В gcc-4.2.0 (и предидущих) файл mlib-tgt-linux.adb все еще содержит "package body MLib.Tgt is" а в gnat-gpl-2007 то уже "package body MLib.Tgt.Specific is", что порождает варнинг и, поскольку системная библиотека компилируется с -gnatpg убивает компиляцию (gcc-4.2.0 и прочие проходят без проблем).

Файл mlib-tgt.adb содержит "pragma Warnings (Off, MLib.Tgt.Specific);", но что

то это не имеет эффекта :(. Попытки добавить pragma Warnings (Off) в mlib-tgt-linux.adb тоже ситуацию не исправили, как и явная подстановка нужного файла (с убиранием Specific, тогда оно не находит реализации кучи методов. Подозреваю здесь используется какая то новая фича из Ада2005).. Происходит это уже после компиляции stage2, насколько я могу судить, так что должен использоваться уже вновь сформированный компилятор на этой стадии..

Буду благодарен за разьяснение/указатели. Может кто из AdaCore что посоветует?

George

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти