## UPDATE! ##
I’ve since learned that you _don’t_ have to clean away anything to avoid failure during the “make” step.
Simple pass the “PROCESSORS=n” variable to “make” and you’re good to go:
- $ ./configure ….
- $ PROCESSORS=4 make
- $ make install
I do though still think that this should be apparent in the install instructions. As it stands now, it’s an undocumented feature.
## END UPDATE ##
On my quest to port all my PHP/XSLT web-applications to Ada, I’ve started using GNATcoll for the stuff that needs access to a database.
It has so far been an excellent companion.
But whenever I have to compile it, I stumble on an annoying “bug” in the gnatcoll-gpl-2010-src package found at the libre.adacore.com website.
Here’s what I do:
- Download and install the latest gnat-gpl, which at the time of writing is 2010
- Download the latest gnatcoll-gpl package, which at the time of writing is 2010
- Unpack gnatcoll-gpl and do the “./configure, make, make install” dance
- Watch it fail
The first error you get when doing the “make” step, looks something like this:
gprbuild: illegal option “-j” on the command line
A quick search reveals the use of this option in 4 files:
- ./gnatcoll_shared.gpr.in:67:for Switches (“Ada”) use (“-m”, “-j” & Processors);
- ./src/Makefile.tools:15:gprbuild -m -j${PROCESSORS} -P$(PROJECT) $@ -p -largs $(POSTGRES_PATH)
- ./Makefile.conf.in:86:gprbuild -m -j${PROCESSORS} -XLIBRARY_TYPE=${LIBRARY_TYPE} -P${PROJECT} -p
- ./Makefile:26:gprbuild -m -j${PROCESSORS} -XLIBRARY_TYPE=${LIBRARY_TYPE} -Pgnatcoll_build -p
All you have to do is clean away the “-j${PROCESSORS}” and “, “-j” & Processors” parts, and you’re good to go. This should, of course, be done _before_ you execute your ./configure.
I reported this error to the “gnat-gpl at adacore.com” email address back in September 2010, but it seems that they’ve yet to fix it, which is pretty odd, considering how utterly trivial a thing it is to fix. I honestly believe that software downloaded from the libre.adacore.com website should compile out of the box using the latest gnat-gpl compiler. The fact that it does not sends a bit of an amateurish signal – in my opinion.
If someone with a bit of clout in regards to the libre AdaCore software reads this, then please consider fixing it, or at least write something about it in the accompanying README file.