Ada Programming $WikiTagline
 

(redirected from Articles.CompileGNAT)

This page describes how to compile GNAT/GPL. First you will need to download the all GNAT/GPL sources available.

build-gnat-gpl

It is all really done by the attached script.

Attach:build.bashuseful functions shared between build scripts
Attach:build-gnat-gplbuild script for GNAT/GPL

Some notes about the script:

  1. The path names are more or less hard coded and installation is done in /opt/ada so you should check if they fit your needs.
  2. The script compiles all and everything in one go - if you don't need everything you should make a copy and cut out everything you are not interested it.
  3. There are quite a few tricks and twists incorporated into the script. Missing files copied, makefiles patched and so on. So read it carefully.

pathnames needed

/work/gnat-gplBase directory for the build process. Script files, downloads and all temporary files go here. You need just about 1 GB of free space to compile everything.
/work/configureScript files go here. Should also be the current directory when starting the scripts.
/work/gnat-gpl/2005/...Downloaded files. The structure should be the same as the one used by the libre site when creating you download package.
/opt/gnatBase directory for the installation. You need about 400 MB of free space when you install everything.

script options

There are two options for the script get and conf. get will extract the sources and conf will configure the extracted sources. So the first time round you use:

 build-gnat-gpl get conf

after that you only need

 build-gnat-gpl

For reproducible result you can completely delete all the files (apart the downloaded archives of course) and then just re-extract them with the get option.

current status

Currently the script works on some older platforms. But there are some fixes needed if you have a newer Linux with a newer GTK.

Pitfalls (edit)

Pango

The supplied pango won't compile with newer freetypes. In such cases you should install pango from the distribution.

Python

The Python detector in GPS is quite primitive and supplies misleading error messages. The --with-python options needs to point to a directory from which to find lib/libpython.so and include/python/. On most systems that should be /usr. You might have to provide symbolic links to the actual files and directories.

But even when the python development files are found you might still experience link error.

glib.ads

The file /opt/gnat/include/gtkada/glib.ads does produce a style-warning which will break the XML/Ada compile. You need to remove the additional blank line.


© 2005,2006 Martin Krischik, Content is available under GNU Free Documentation License.