On 2012-05-09 01:36-0700 Jerry wrote:
> I recently updated my Ada compiler from the 2010 GPL version provided by Adacore (the commercial source) to the 2011 version and encountered a rather odd problem when trying to link the Ada bindings into my own project.
> GCC Ada aka GNAT and its tools provide two systems of building stuff--the older and still-used one uses the gnatmake and related commands, providing a somewhat traditional way of passing arguments on to the gcc tools.
> The other system is called GPR (Gnat PRoject), gprbuild, and one writes some relatively sane-looking files that do the same thing as gnatmake et al and more. This is the system that I have used, in very simple ways.
> I don't know if what I'll describe in a bit is necessary for gnatmake but is seems so for gprbuild. It is a complete mystery why this worked for the 2010 tools at all without the following change, which I believe we should incorporate into the PLplot build. It's really simple.
> where /usr/local/plplot is my installation directory. That's it. When I do this manually, my personal stuff builds using the 2011 tools, but if I don't do it the 2011-tool build fails. There are some other files in the target directory, ending in .ali--these should remain--the .dylib needs to be in the same folder as these .ali. I suppose another directory would suffice as long as the .dylib and .alis are in it.
I think the above change will screw up our installed Ada examples
build which exclusively uses the gnatmake approach. So please test
the installed examples build with and without the above change to see
whether that hypothesis is correct.
To remind you how to do such testing do your normal procedure
for building and installing PLplot. Then
run cmake in an empty directory
with no options and with just a reference to the installed examples
tree like this:
# insures initially empty build tree.
rm -rf test_install_build
That make command should work fine for an unmolested install, but if
you move install tree files around and repeat the above commands
(again for an initially empty build directory) I predict it won't
To me it would make a lot of sense if you configured the GPR build
process for your own use (as opposed to the PLplot build system which
uses gnatmake exclusively) so that it followed the traditional gnatmake
location conventions (as the PLplot core build, install, and installed
examples build processes do now).
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).