comp.lang.ada
 help / color / mirror / Atom feed
From: Jerry <lanceboyle@qwest.net>
Subject: Re: How to exit a loop with keyboard input
Date: Wed, 14 Apr 2010 20:39:56 -0700 (PDT)
Date: 2010-04-14T20:39:56-07:00	[thread overview]
Message-ID: <cde1ed80-fcd9-430d-bb96-07556e58665d@30g2000yqi.googlegroups.com> (raw)
In-Reply-To: m2d3y39he9.fsf@pushface.org

On Apr 13, 2:22 pm, Simon Wright <si...@pushface.org> wrote:
> Jerry <lancebo...@qwest.net> writes:
> > However, both of these builds still contain the old bug which arises
> > when using
> >     Ada.Numerics.Long_Real_Arrays;
> > in which the linker can't find the non-existent (on OS X) library
> > lgnalasup (linear algebra support) requested by i-forbla.adb. I
> > thought this was fixed a long time ago and if I'm reading the history
> > correctly it was fixed on Apr 22 07:14:31 2008. I suppose I should
> > raise this on another thread, however.
>
> Same here.
>
> $ gnatmake jerry
> gcc -c jerry.adb
> gnatbind -x jerry.ali
> gnatlink jerry.ali
> ld: library not found for -lgnalasup
> collect2: ld returned 1 exit status
> gnatlink: error when calling /opt/gnat-gpl-2009-x86_64/bin/gcc
> gnatmake: *** link failed.
>
> (sorry to take your name in vain, it helps me to keep my ~/tmp
> code in order)
>
> 4.5.0 has a Darwin-specific i-forbla.adb containing
>
> OX--------------------------------------------
> --  Version for Mac OS X
>
> package body Interfaces.Fortran.BLAS is
>    pragma Linker_Options ("-Wl,-framework,vecLib");
> end Interfaces.Fortran.BLAS;
> OX--------------------------------------------
>
> and I just managed to link (just a 'with', no execution) with GNAT GPL
> 2009 by compiling against this file -- I put it in a subdir called math
> and said
>
> $ gnatmake jerry -a -Imath
> gcc -gnatpg -c -Imath i-forbla.adb
> gnatbind -Imath -x jerry.ali
> gnatlink jerry.ali

Awesome. In the past I discovered that if I delete the inappropriate
linker pragma in i-forbla.adb and link with -largs to the BLAS and
LAPACK libraries in the OS X frameworks that I could work around this
problem. But this is better. Following your lead, I moved the newly-
made i-forbla.o and i-forbla.ali into

/opt/gnat-gpl-2009/lib/gcc/i386-apple-darwin9.7.0/4.3.4/adalib

I then moved /opt/gnat-gpl-2009 to /usr/local/ada-4.3 which is where
the Xcode Ada plug-in expects to find a compiler. I also moved your /
opt/gnu/ to /usr/local/gnu.

I can now compile a small program that uses Real_Vector etc. and has a
non-blocking Get_Immediate without any compiler switches using Xcode
with the (ever-brittle) Ada plug-in. 8o)

Trying to use the GUI debugger within Xcode,
(Apple version gdb-768) (Tue Oct  2 04:07:49 UTC 2007)
is mostly successful but it bombs with SIGBUS when trying to single-
step past a Put_Line.

I have also applied the fix to AdaCore's GPL 2009.

Unfortunately, with the new set-up, building PLplot (to which I wrote
Ada bindings) now results in the linker complaining of some dylibs,
"file is not of required  architecture."

Jerry



  reply	other threads:[~2010-04-15  3:39 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-12  4:12 How to exit a loop with keyboard input Jerry
2010-04-12  8:50 ` Georg Bauhaus
2010-04-12  9:21   ` Manuel Collado
2010-04-12 10:36 ` Jerry
2010-04-12 13:59   ` John McCormick
2010-04-13 19:38     ` Jerry
2010-04-12 15:14   ` Tero Koskinen
2010-04-12 16:16     ` John B. Matthews
2010-04-12 20:04     ` Simon Wright
2010-04-13 19:51       ` Jerry
2010-04-13 21:22         ` Simon Wright
2010-04-15  3:39           ` Jerry [this message]
2010-04-15  4:08             ` John B. Matthews
2010-04-15 18:51               ` Jerry
2010-04-16  0:44                 ` John B. Matthews
2010-04-16  4:43                   ` Simon Wright
2010-04-16 14:03                     ` John B. Matthews
2010-04-15 19:22             ` Simon Wright
2010-04-16 10:25               ` Jerry
2010-04-12 20:57 ` Alex Mentis
2010-04-12 22:51   ` Jerry
2010-04-16  0:06     ` BrianG
2010-04-16  7:23       ` Jerry
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox