This is part of a series on programming in the Ada language, a mission critical programming language that I am attempting to learn and become proficient in.
The standard compiler for the Ada language today is the GNAT compiler which is part of GCC. There are actually 3 different versions of GNAT: GNAT-GPL, GNAT Pro and GNAT-GCC. GNAT-GPL and GNAT-Pro are released by AdaCore, the company that develops Ada-related products. GNAT-GCC includes a runtime library licensed under the GPL requiring all binaries compiled by it to be released under the GPL. GNAT Pro and GNAT-GCC (included in the GCC distribution) includes a runtime under the GMGPL (GNAT Modified GPL), a license equivalent to the LGPL.
I decided to start off with GNAT-GPL, which includes an IDE (GNAT Programming Studio) then later switch the compiler to GNAT-GCC as needed. So I downloaded a copy of GNAT-GPL 2012 for x86 Windows from the Libre website of AdaCore and installed it. Note that although it shows a field for email before you download, you do not need to fill it in for the downloads to show.
At 108 MB, it was a pretty big download and took several minutes to download. The per-user installation went smoothly as I had expected and within a few more minutes, GNAT was successfully installed. Or so I had thought. The first logical step was to load up GNAT Programming Studio and take a look around the environment. The splash screen loaded and, for a few seconds, the program appeared to be loading, but when the splash screen closed, the program did not load. A peek at task manager shows that the gps.exe process quits after the splash screen exits so something must not have been right with the installation or my machine.
I was not in the mood to debug the problem and just moved on to the second option: GNATbench. GNATbench is a plugin for Eclipse that turns it into a complete Ada development environment. This was another 57 MB to download. Naturally, I also needed Eclipse so I went and downloaded that as well — another 192 MB.
I followed the instructions in the readme for GNATbench and installed it through Help->Install New Software…except it wouldn’t install. It was missing a dependency. Rereading the readme said that I needed the C/C++ Development Tools so I installed that through the dialog — it didn’t say how many MB it was but I assume it was about 5 MB based on how long it took to install. I restarted Eclipse and tried installing GNATbench again — still with no luck. I went into the dialog again and installed everything having to do with C/C++ — probably another 10 MB of downloads. Once more, GNATbench failed to install.
Reading the deceptively simple readme even more closely, it said that GNATbench needed Eclipse 3.6 or 3.7…hmm, what version do I have? Eclipse 4.2???!!!??? Apparently, Eclipse 4.2 Juno was only recently released this June and GNATbench had not been updated to support it. Eclipse 3.7 was the previous version as they skipped 3.8, 4.0 and 4.1 so at least I would only be 1 version behind so I went and downloaded Eclipse 3.7 Indigo — this time, the C/C++ version so I wouldn’t have to go through the trouble of installing them afterwards. It was another 114 MB to download but at long last, GNATbench was up and running.
So long story short, it took me 486 MB of downloads to get it working, but at least it works! Now if only this code will work…but that’s for next time.