On 2013-06-23 19:44-0700 Jerry wrote:
> On Jun 12, 2013, at 4:22 AM, Jerry <lanceboyle@...> wrote:
>> I'm a little bleary-eyed right now but I can't figure this problem out.
>> I just replaced my GPL GNAT (Ada) compiler with the new 2013 edition and am now getting a link error. I made a few trivial changes to my build script to account for some directory changes and I think it should be doing the same thing as it did with the old (2011 edition) compiler. But I'm getting this. "install_name" seems to be getting embedded in some funny places including several occurrences that appeared in the output before this, specifically as "-headerpad_max_install_names", as well as those shown below.
>> Linking Ada shared library libplplotadad.dylib
>> cd /usr/local/plplot_build_dir/bindings/ada && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/plplotadad.dir/link.txt --verbose=1
>> /usr/local/adacore-gnat-2013/bin/gcc -fPIC -single_module -dynamiclib -Wl,-headerpad_max_install_names -install_namelibplplotadad.0.dylib -o libplplotadad.0.0.0.dylib CMakeFiles/plplotadad.dir/plplot.o CMakeFiles/plplotadad.dir/plplot_thin.o CMakeFiles/plplotadad.dir/plplot_traditional.o CMakeFiles/plplotadad.dir/plplot_auxiliary.o ../../src/libplplotd.11.0.0.dylib /usr/local/adacore-gnat-2013/lib/gcc/x86_64-apple-darwin12.2.0/4.7.4/adalib/libgnat.dylib -lgcc_s.1
>> gcc: error: unrecognized command line option '-install_namelibplplotadad.0.dylib'
>> make: *** [bindings/ada/libplplotadad.0.0.0.dylib] Error 1
>> make: *** [bindings/ada/CMakeFiles/plplotadad.dir/all] Error 2
>> make: *** [all] Error 2
> I've finally gotten a chance to revisit this. I should mention that right before I updated GNAT from the 2011 edition to the 2013 edition I also updated my OS from Lion to Mountain Lion, or 10.7.5 to 10.8.4. I know this is dumb to make two changes more or less at once but I was under the impression that the 2011 GNAT might not work under 10.8.4, but this is wrong as noted below.
> Here's a subset of what I've learned.
> (1) If I disable Ada and build with GNAT 2013, there are no problems (other than not having the Ada library built).
> (2) If I enable Ada and build with GNAT 2013, the above problem exists.
> (3) If I enable Ada and build with GNAT 2011, there are no problems.
> In the case of (1), I can still have a main program that works with PLplot because the GNAT make facility, gnatmake, notices that it can see some source files (the various PLplot Ada things) that that it needs but which have not been compiled and compiles them on its own, sort of "on the side," if you will, and then links to them. (I don't know if other make facilities do this sort of thing.)
> My build scripts for 2011 and 2013 are identical except for minor path adjustments since AdaCore likes to make some edition-specific paths in their annual releases.
Case (1) indicates to me that your GNAT 2013 tool chain is working
fine. So I imagine the error you are finding for case (3) is something
trivial, but the issue (as always) is finding what it is.
Blanks in paths generally cause build trouble so I am wondering if (3)
has a blank in one of the paths as one of the "minor" path adjustments
compared to case (2).
In case this guess for the cause of the issue is not correct, then I
suggest you take the usual next debugging step which is to attempt to
replicate the issue for the simplest test case possible.
Fortunately, such a "Hello World" test case for Ada is already
implemented. You should be able to download it using
svn checkout \
If that extremely simple test case replicates the issue, you should
communicate (as attachments) your build tree results (including cmake
output and make VERBOSE=1 output) as a compressed tarball and also
your script for building the simple test case for both GNAT 2011 and
2013. That e-mail can be posted too this list if the total size is
less than a MB or so, but otherwise send it to me off list.
Of course, if that simple test case gives good results for both GNAT
2011 and 2013, that is an encouraging result, but that means you need
to replicate the issue for the simplest PLplot case (no device drivers
other than ps, no bindings other than Ada), and communicate the PLplot
build tree result and your build script and build script output for
that simplest PLplot case for both GNAT 2011 and 2013.
I hope these suggested debugging steps will quickly reveal the issue.
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).