ЧАсто задаваемые ВОпросы/ответы по языку Ада

Как собрать статический исполняемый файл?

Команда для сборки статических исполнимых файлов выглядит так:

gnatmake -static hello.adb -largs -static

Какие существуют компиляторы с языка Ада?

Существует как минимум три основные версии компилятора GNAT под Linux. GNAT Pro - версия от AdaCore под коммерческой лицензией; GNAT GPL / GNAT GAP - версия от AdaCore под лицензией GPL; gnat-из-дистрибутива - версия от сборщиков дистрибутива, обычно исходные материалы для сборки этой версии берутся из дерева GCC;

В чём разница между GNAT GPL / GNAT GAP и gnat-из-дистрибутива?

Первый представляет собой дистрибутив системы разработки от непосредственного производителя. Выпускается раз в год. Как правило имеет более свежую версию, чем gnat-из-дистрибутива. Но при установке может потребоваться небольшая доработка напильником.

Второй представляет собой дистрибутив системы разработки из дерева GCC. Обновляется нерегулярно. Как правило имеет более старую версию, чем версия GNAT GPL. При установке (одной командой) устанавливаются все зависимости и материалы. Названия некоторых команд могут отличаться от версии GNAT GPL. Например, GNAT Programming Studio, в GNAT GPL называется gps, а этой версии: gnat-gps. Из плюсов можно отметить, что эта версия доступна практически на всех платформах, под которые собирается Debian.

Как установить среду разработки GNAT-из-дистрибутива?

gnat из дистрибутива можно установить следующий командой:

$ sudo apt-get install gnat

Как установить среду разработки GNAT GPL 2013 под Ubuntu/x86_64? (Проверено на Ubuntu/x86_64 13.04 (а вообще должно подходить для Debian и всех основанных на нём дистрибутивах соответствующей архитектуры))?

Здесь и далее описывается установка именно версии GNAT GPL 2013 полученной с сайта AdaCore.

Скачиваем файл gnat-gpl-2013-x86_64-pc-linux-gnu-bin.tar.gz со страницы http://libre.adacore.com/download/ Далее разархивация и начальная установка:

$ tar xf gnat-gpl-2013-x86_64-pc-linux-gnu-bin.tar.gz
$ cd gnat-gpl-2013-x86_64-pc-linux-gnu-bin
$ sudo ./doinstall

Если не установлена библиотека libjpeg62, то GNAT Programming Studio (команда gps) запустится с ошибкой:

/usr/gnat/bin/gps_exe: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory

Установить недостающую библиотеку можно следующей командой:

$ sudo apt-get install libjpeg62

По-умолчанию GNAT GPL устанавливается в каталог /usr/gnat. В соответствии с требованием установщика не забудьте разместить пути к GNAT'у в конце файла ~/.profile, а так же указываем другие переменные окружения:

$ nano ~/.profile
PATH=/usr/gnat/bin:$PATH; export PATH
CPATH=/usr/include/x86_64-linux-gnu; export CPATH
LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH; export LIBRARY_PATH

Вместо добавления последних двух строк, можно разместить символьную ссылку в каталоге /usr/, но это только если у вас есть права администратора и вы точно уверены, что это не повредит системе:

$ sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64

После внесения изменений в файл ~/.profile необходимо перезайти в систему или перечитать этот файл:

$ source ~/.profile

После этого новые переменные окружения вступят в силу и можно успешно пользоваться системой GNAT GPL 2013.

Вы можете задать вопрос, или уточнить что-либо, если у вас данные инструкции не работают, а также высказать пожелания держателю этой секции по адресу virtual.lark@gmail.com и/или обратиться в Jabber-конференцию, посвящённую языку программирования Ада (ada-ru@conference.jabber.ru).

Ошибка при старте GPS на Windows

Если при запуске GPS под Windows выдает 'The application failed to initialize properly' установите 'MSVC++ 2008 redistributable runtime'.