How to compile the GNAT/GPL
(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.bash | useful functions shared between build scripts |
Attach:build-gnat-gpl | build script for GNAT/GPL |
Some notes about the script:
- 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.
- 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.
- 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-gpl | Base 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/configure | Script 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/gnat | Base 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.