Copyright (C) А.Гавва V-0.4w май 2004

2. Установка GNAT

Как уже говорилось, GNAT является частью проекта GCC. Команда gcc, сама по себе, не является компилятором. Это программа которая определяет тип исходного текста и затем осуществляет запуск соответствующего компилятора. Например, компилятором языка Ада является программа называемая gnat1, а компилятором языка C является программа называемая cc1. Когда программа gcc определяет, что предоставленный ей исходный текст написан на языке Ада она просто запускает компилятор gnat1 для компиляции этого исходного текста.

Поскольку GNAT и GCC должны работать совместно, то определенная версия GNAT создается в рассчете на то, что она будет взаимодействовать с определенной версией GCC. Так, версии GNAT: 3.11p, 3.12p, 3.13p, 3.14p и 3.15p собраны с GCC версии 2.8.1 (чтобы узнать какая версия GCC используется в системе нужно запустить gcc с опцией командной строки -v).

Стандартный дистрибутив GNAT от ACT поставляется со своей собственной копией GCC, имеющей корректную версию gcc, и позволяет установить GNAT и GCC в различные каталоги. Дистрибутив GNAT от ACT содержит двоичные исполняемые файлы у которых отключена поддержка языка C++. Таким образом, если необходима поддержка языка C++ одновременно с языком Ада, то необходимо пересобрать GNAT и GCC из исходных текстов.

Доступ к свободно распространяемой версии компилятора GNAT от ACT предоставляется через сеть Internet с сервера Нью-Йоркского университета по адресу "ftp://ftp.cs.nyu.edu/pub/gnat". В момент написания этого текста на этом сервере доступны две версии компилятора: 3.14p и 3.15p (последняя версия 3.15p), которые соответственно расположены в подкаталогах "ftp://ftp.cs.nyu.edu/pub/gnat/3.14p" и "ftp://ftp.cs.nyu.edu/pub/gnat/3.15p". Следует заметить, что на различных зеркалах этого сервера (которых в Internet немало) можно обнаружить и более ранние версии компилятора.

Каждый подкаталог в котором храниться соответствующая версия компилятора содержит архивы бинарных файлов, файлов документации и файлов с исходными текстами. Архивы бинарных файлов упакованы с учетом использования компилятора на различных целевых платформах. Тип целевой платформы, как правило, можно определить по имени архивного файла. Например, архив gnat-3.15p-i686-pc-redhat71-gnu-bin.tar.gz содержат компилятор GNAT версии 3.15p, который может использоваться на процессоре i686 и операционной системе Linux (желательно дистрибутив Red Hat 7.1), а архив gnat-3.15p-sparc-sun-solaris2.5.1-bin.tar.gz содержат компилятор GNAT версии 3.15p, который может использоваться на процессоре SPARK и операционной системе Solaris-2.5.1.

Вне зависимости от того какую версию компилятора вы выберете, перед началом установки настоятельно рекомендуется ознакомиться с содержимым соответствующих файлов README.

2.1 Установка GNAT на Windows

Компилятор GNAT, который собран для работы на аппаратной платформе Intel x86 под управлением операционной системой Windows находится в подкаталоге "winnt". Как говорится в документации, версия 3.14p может быть использована в среде Windows 95/98 или Windows NT 4.0/2000, а версия 3.15p - в среде Windows 95/98 или Windows NT 4.0/2000/XP.

Компилятор GNAT для Windows разбит на две части. Файл gnat-3.14p-nt.exe (или gnat-3.15p-nt.exe) содержит базовый комплект инструментов Ада-компилятора, а файл gnatwin-3.14p.exe (или gnatwin-3.15p.exe) содержит компоненты Ада-интерфейса Win32.

Для установки компилятора необходимо просто запустить на выполнение файл gnat-3.14p-nt.exe (или gnat-3.15p-nt.exe) и следовать инструкциям интерактивной установки. После успешного завершения установки базового комплекта инструментов, аналогичным образом, устанавливаются компоненты Ада-интерфейса Win32.

Кроме этого, специально для пользователей Windows, существует свободно распространяема интегрированная среда разработки AdaGide, которая ориентированна на компилятор GNAT. Дистрибутив AdaGide свободно доступен с WEB-странички проекта: " http://www.usafa.af.mil/dfcs/bios/mcc_html/adagide.html".

2.2 Установка GNAT на Linux

При установке GNAT на Linux следует учитывать, что в системе возможна совместная одновременная установка нескольких различных версий gcc. Для выбора определенной версии gcc, необходимой для компиляции исходных текстов, можно использовать опцию командной строки -V. Однако, для выполнения этого, необходимо пересобрать GCC из исходных текстов так, чтобы можно было использовать различные версии gcc.

2.2.1 Установка бинарных файлов от ACT

При установке бинарных файлов от ACT следует учитывать, что они построены с учетом определенной версии библиотеки языка C. Для того, чтобы определить какая версия библиотеки libc используется в вашем дистрибутиве Linux, следует проверить на какой файл указывает ссылка /lib/libc.so. Например, если ссылка /lib/libc.so указывает на файл libc5, то вам необходима версия GNAT которая использует libc5.

По умолчанию, GNAT от ACT устанавливается в каталог /usr/gnat. Если у вас отсутствует GCC версии 2.8.1, то вы можете указать другой каталог для установки GNAT и его собственной копии gcc версии 2.8.1. Используя такой метод, вам необходимо выполнить дополнительный шаг. Программа установки автоматически создает скрипт командного интерпретатора shell, в котором содержатся установки некоторых переменных окружения необходимых GCC для поиска файлов GNAT. В результате, вы можете скопировать эти установки в ваши скрипты настройки среды (для bash, как правило, это файл .profile в вашем домашнем каталоге).

Вам также необходимо указать каталог установки файлов GNAT в начале переменной окружения PATH, для того чтобы GNAT не использовал версию gcc которая поставляется вместе с вашим дистрибутивом Linux. Например, это может быть выполнено с помощь команды:


export PATH="/usr/gnat/bin:$PATH"

Эту команду следует применять только тогда когда вы используете GNAT, поскольку она эффективно "прячет" копию gcc которая поставляется вместе с вашим дистрибутивом Linux.

В случаях когда окружение среды, соответствующее требованиям использования GNAT, не желательно устанавливать как окружение по умолчанию можно написать короткий скрипт командного интерпретатора shell, который будет выполнять необходимые установки и запускать новый экземпляр командного интерпретатора.

2.2.2 Установка RPM-пакетов ALT

Кроме стандартного дистрибутива GNAT от ACT, существует альтернативный дистрибутив GNAT от ALT (Ada for Linux Team, WEB-страничка проекта доступна по адресу: "http://www.gnuada.org/alt.html") и альтернативный дистрибутив ALR (Ada for Linux RU, WEB-страничка проекта доступна по адресу: "http://www.prz.rzeszow.pl/ada/").

Версия дистрибутива GNAT от ALT построена с учетом использования GNAT в среде дисрибутивов системы Linux от Red Hat, S.u.S.E. или Debian. GNAT от ALT может быть также использован с дистрибутивами Mandrake и Caldera. В настоящий момент дистрибутив от ALT содержит компилятор GNAT версии 3.13p.

Дистрибутив ALT содержит поддержку для ASIS, GLADE и использует "родные нити" Linux (native Linux threads). Пакеты дистрибутива содержат gnatgcc (версия gcc с поддержкой GNAT и C++), отладчик gnatgdb (версия gdb, которая поддерживает исходные тексты на языке Ада), препроцессор gnatprep и другие утилиты разработки. Кроме того, дистрибутив от ALT включает множество дополнительных пакетов в которых находятся различные библиотеки и программы, которые могут быть полезны при разработке программного обеспечения на языке программирования Ада в среде операционной системы Linux.

Дистрибутив ALR построен в среде системы Red Hat Linux. Он наследует основные особенности дистрибутива ALT, но построен на основе более новой версии компилятора GNAT - 3.15p, и включает более новые версии пактов дополнительного программного обеспечения. Кроме того, в этой сборке компилятор позволяет использовать в идентификаторах кириллицу в кодировках KOI8-R/KOI8-U. Необходимо заметить, что при дальнейшем упоминании в тексте дистрибутива ALT равноправно подразумевается дистрибутив ALR.

Следует учесть, что все пакеты rpm были построены с учетом сред дистрибутивов Red Hat и S.u.S.E.. Поэтому, для того чтобы проигнорировать предупреждающие сообщения о зависимости пакетов, которые могут возникнуть при попытке установить rpm-пакеты от ALT в среде других дистрибутивов Linux, может потребоваться использование опции командной строки --nodep в команде rpm.

Для установки rpm-пакетов дистрибутива от ALT необходимо выполнить следующее:

  1. Загрузить и прочитать файл readme.
  2. Загрузить файл rpm-пакета gnat-3.xxp-runtime* (здесь, xx обозначает текущую версию GNAT, а * обозначает остаток имени файла). Для старых версий rpm-пакетов, содержимое этого пакета находится в пакете gnat-3.xxp*.
  3. Загрузить файл rpm-пакета gnat-3.xxp. Для старых версий rpm-пакетов, содержимое этого пакета находится в пакете gnat-3.xxp-devel*.
  4. Выполнить команду: rpm -i gnat-3.xxp-runtime*
  5. Выполнить команду: rpm -i gnat-3.xxp*
  6. При необходимости, загрузить и установить любые дополнительные пакеты дистрибутива GNAT от ALT.

Файлы всех rpm-пакетов дистрибутива GNAT от ALT сконфигурированы для совместной работы с версией GNAT от ALT. Для их установки необходимо просто загрузить их с интернет-сайта ALT и выполнить команду установки rpm -i ... для соответствующего пакета.

С помощью CVS, система построения пакетов дистрибутива GNAT от ALT доступна для тех кто желает ознакомиться с деталями построения rpm-пакетов от ALT:


   export CVSROOT=":pserver:anoncvs@hornet.rus.uni-stuttgart.de:/var/cvs"
   cd $HOME
   cvs login  # (use empty password)
   cvs -z9 co -d ALT gnuada/alt-build


Copyright (C) А.Гавва V-0.4w май 2004