From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,72973cb941b9d7ea X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Received: by 10.68.231.2 with SMTP id tc2mr169686pbc.8.1336450134447; Mon, 07 May 2012 21:08:54 -0700 (PDT) Path: pr3ni1020pbb.0!nntp.google.com!news2.google.com!postnews.google.com!d8g2000vbw.googlegroups.com!not-for-mail From: Jerry Newsgroups: comp.lang.ada Subject: Re: gprbuild worked for GNAT GPL 2010, fails for 2011 edition Date: Mon, 7 May 2012 21:02:26 -0700 (PDT) Organization: http://groups.google.com Message-ID: References: NNTP-Posting-Host: 97.117.199.83 Mime-Version: 1.0 X-Trace: posting.google.com 1336450134 5230 127.0.0.1 (8 May 2012 04:08:54 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 8 May 2012 04:08:54 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: d8g2000vbw.googlegroups.com; posting-host=97.117.199.83; posting-account=x5rpZwoAAABMN2XPwcebPWPkebpwQNJG User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_7_3; en-us) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4,gzip(gfe) Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Date: 2012-05-07T21:02:26-07:00 List-Id: On May 6, 11:10=A0pm, Simon Wright wrote: To save time, just skip to my last comment about the "good news." 8^) > Jerry writes: > > and (2) an Ada-style library directory containing the .ali and .o > > files for the Ada bindings which is at > > > =A0 /usr/local/plplot_build_dir/bindings/ada/CMakeFiles/plplotadad.dir > > This looks like the directory where the library (I think it'll be a > static library, libplplotadad.a, by default) is initially compiled > before the .ali files and the constructed .a are moved to the proper > place. Good guess. But it is a .dylib and is a couple directories up. There is no libplplotadad.a on my computer, so obviously it was built without the default static. However, the .o and .ali _are_ in this directory, plplotadad.dir, before being installed elsewhere. > > Note that the PLplot_Library_2 uses > > > =A0 for Library_Dir use "/usr/local/plplot/lib/ada/adalib/plplotadad"; > > > which contains the bindings' .ali files but not .o files--this worked > > for 2010 but seems to be a problem for 2011. > > This looks like the target directory, which should contain a single .a > and no .o's. It contains only .ali files, no .a or .dylib. (As I said, setting Library_Dir here worked for the 2010 GPL. I thought it looked funny at the time but it worked so I never thought about it again, until now. > > In one of my attempts, the process aborted, asking for the sources for > > the Ada bindings. Why would sources be required for a pre-built > > library? > > In the same way as the sources to the standard library are needed; the > .ali files are only a partial representation of the source, the full > source is needed to compile against. But I was asked for sources to complete the linking. (I' pretty sure-- I might have misread this--if the process didn't find any .ali then it also would ask for sources for compilation.) > > Now, using the 2011 edition, using the below project files which work > > for 2010, the process fails with > > > =A0 gcc: /usr/local/plplot/lib/ada/adalib/plplotadad//libplplotadad.a: > > No such file or directory > > I don't know why this should have changed. I don't either, which is why I got confused. I can (and have, a few times) reverted everything back to the 2010 GPL and PLplot_Library_2 as described and it really does work without any .dylib or .a in /usr/local/plplot/lib/ada/adalib/plplotadad > You've shown us three .gpr files, but I'd expect there to be a fourth, > which tells gprbuild how to build libplplotadad.a. The PLplot guys with their cmake smarts use gnatmake to make libplplotadad.dylib. So I would guess it's in their largs rather than another .gpr. So here's the good news. I moved /usr/local/plplot/lib/libplplotadad.0.0.0.dylib /usr/local/plplot/lib/libplplotadad.0.dylib /usr/local/plplot/lib/libplplotadad.dylib to /usr/local/plplot/lib/ada/adalib/plplotadad which also contains the .ali files (and nothing else), and the link succeeded. Thanks for pointing me in this direction. The 2010 mystery notwithstanding, I think the problem is solved. I'll tell the PLplot team to move the .dylib and its symlinks to the other directory and we should be done. Thanks once again, Simon. Jerry