comp.lang.ada
 help / color / mirror / Atom feed
From: "Nasser M. Abbasi" <nma@12000.org>
Subject: Re: Free AMD Core Math Library (BLAS/LAPACK) + Ada
Date: Tue, 24 Jul 2012 10:19:36 -0500
Date: 2012-07-24T10:19:36-05:00	[thread overview]
Message-ID: <jumee7$3ne$1@speranza.aioe.org> (raw)
In-Reply-To: m2sjchqm2u.fsf@nidhoggr.home

On 7/24/2012 9:18 AM, Simon Wright wrote:

>
> Shouldn't that be LIBRARY_PATH?
>

LIBRARY_PATH will work. But the standard is to use LD_LIBRARY_PATH for
this purpose.

I used, in my notes LIBRARY_PATH to point to /usr/lib/i386-linux-gnu/
only because to find crt1.o which was due to other weird thing
about using libre gnat 2012 and not using gcc gnat. gnatmake wanted to
know where crt1.o was.

see

http://groups.google.com/group/comp.lang.ada/browse_thread/thread/f96b82f9bd22d18a

It happen that, on my box, libgfortran.so was also in /usr/lib/i386-linux-gnu/

BUT you can use LD_LIBRARY_PATH to point to where the .so are. But can't
use LD_LIBRARY_PATH to point it to where crt1.o is !

So, LIBRARY_PATH worked for building in this case.

>locate crt1.o
/usr/lib/i386-linux-gnu/crt1.o

>locate libgfortran.so
/usr/lib/i386-linux-gnu/libgfortran.so

see, they are in the same folder.

---- example -------------------------
>unset LIBRARY_PATH
>export LD_LIBRARY_PATH=/usr/lib/atlas-base/:
                         /usr/lib/atlas-base/atlas/:
                         /usr/lib/i386-linux-gnu/

>gnatmake cxblm.adb -largs lmfinc.o -lgfortran -lm

gnatbind -x cxblm.ali
gnatlink cxblm.ali lmfinc.o -lgfortran -lm
/usr/gnat/libexec/gcc/i686-pc-linux-gnu/4.5.4/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status
gnatlink: error when calling /usr/gnat/bin/gcc
gnatmake: *** link failed.
--------------------------------------

You see the error is gnat does not find the crt1.o (not it can't find the .so libs).

Now I add LIBRARY_PATH, which is the SAME as LD_LIBRARY_PATH, and now it works,
since it uses LIBRARY_PATH to find the crt*.o, not the LD_LIBRARY_PATH

---------------------------------
>export LIBRARY_PATH=/usr/lib/i386-linux-gnu/
>gnatmake cxblm.adb -largs lmfinc.o  -lgfortran -lm
gnatbind -x cxblm.ali
gnatlink cxblm.ali lmfinc.o -lgfortran -lm
----------------------------------

So, LIBRARY_PATH works to locate crt*.o, but also happend to locate the .so also:

-------------------------------
>unset LD_LIBRARY_PATH
>echo $LD_LIBRARY_PATH

>export LD_LIBRARY_PATH=/usr/lib/atlas-base/:/usr/lib/atlas-base/atlas/
>gnatmake cxblm.adb -largs lmfinc.o  -lgfortran -lm
gnatbind -x cxblm.ali
gnatlink cxblm.ali lmfinc.o -lgfortran -lm
---------------------------------

see, now it found libgfortan.so, only becuase it happened to be
in the same folder as crt*.o. On other linux distro's this might not be the case.


> I thing the trouble is that if you create a Fortran program and compile
> it
>
>     gfortran foo.f
>
> gfortran knows to include -L/usr/lib/gcc/i486-linux-gnu/4.6 (or
> equivalent) when it calls the linker; but other languages don't, so we
> have to tell them.
>

Yes, it does a shared link in the above, and must be using
ldconf to know the locations of libfortran. On my box, I get

>gfortran foo13.f90
>ldd a.out
	linux-gate.so.1 =>  (0x0092c000)
	libgfortran.so.3 => /usr/lib/i386-linux-gnu/libgfortran.so.3 (0x005fb000)
	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x0044c000)
	libquadmath.so.0 => /usr/lib/i386-linux-gnu/libquadmath.so.0 (0x00110000)
	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0x0076a000)
	/lib/ld-linux.so.2 (0x00ddd000)

might be an ldconfig thing. Not sure. It knows where all those things are.

> Much the same issue with the Ada RTS, I'd think.
>

Building things on linux can be confusing sometimes, too many
things in too many places.

--Nasser



  parent reply	other threads:[~2012-07-26 15:14 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-06 18:38 Free AMD Core Math Library (BLAS/LAPACK) + Ada Ada novice
2012-07-07 13:37 ` Charly
2012-07-07 14:01   ` Ada novice
2012-07-08  6:31     ` Charly
2012-07-08 12:22       ` Ada novice
2012-07-09 18:30         ` Charly
2012-07-09 21:15           ` Ada novice
2012-07-09 21:28             ` Ada novice
2012-07-09 21:36             ` Nasser M. Abbasi
2012-07-10  5:03               ` Ada novice
2012-07-10  9:35                 ` Brian Drummond
2012-07-10  9:51                   ` Nasser M. Abbasi
2012-07-10 12:29                     ` Ada novice
2012-07-10 20:02                       ` Ada novice
2012-07-10 21:48                         ` Nasser M. Abbasi
     [not found]                           ` <027286e8-2436-408a-acad-c1bbf42431f8@googlegroups.com>
2012-07-11 15:48                             ` Georg Bauhaus
2012-07-11 16:54                               ` Ada novice
2012-07-11 17:37                                 ` Simon Wright
2012-07-11 18:17                                 ` Nasser M. Abbasi
2012-07-11 19:14                                   ` Ada novice
2012-07-11  7:49                         ` Simon Wright
2012-07-11  9:47                           ` Ken Thomas
2012-07-11 19:30                             ` Simon Wright
2012-07-11 19:52                               ` Ada novice
2012-07-11 21:50                                 ` Nasser M. Abbasi
2012-07-12  6:34                                   ` Ada novice
2012-07-12  8:38                                     ` Simon Wright
2012-07-13 19:38                                       ` Ada novice
2012-07-14 14:25                                         ` Ada novice
2012-07-15  2:20                                           ` John B. Matthews
2012-07-15  7:41                                             ` Ada novice
2012-07-15 11:25                                               ` Simon Wright
2012-07-15 13:22                                                 ` Ada novice
2012-07-15 14:59                                                   ` Georg Bauhaus
2012-07-15 15:06                                                     ` Georg Bauhaus
2012-07-15 15:09                                                   ` Simon Wright
2012-07-15 16:05                                                     ` Ada novice
     [not found]                                                     ` <d21d15b6-424d-4e96-9457-43d53d9239b9@googlegroups.com>
2012-07-15 16:47                                                       ` Simon Wright
2012-07-15 17:03                                                         ` Ada novice
2012-07-15 17:42                                                         ` Ludovic Brenta
2012-07-15 18:41                                                           ` Simon Wright
2012-07-15 20:06                                                             ` Ludovic Brenta
2012-07-15 20:41                                                               ` Simon Wright
2012-07-15 21:24                                                                 ` Ada novice
2012-07-15 22:20                                                                   ` Simon Wright
2012-07-16  7:56                                                                     ` Ada novice
2012-07-16  9:27                                                                       ` Simon Wright
2012-07-16 11:15                                                                         ` Ada novice
     [not found]                                                                         ` <374bd898-5683-4350-8812-e3cae186ab2b@googlegroups.com>
2012-07-16 11:36                                                                           ` Simon Wright
2012-07-16 13:08                                                                             ` Ada novice
2012-07-16 19:51                                                                               ` Ludovic Brenta
     [not found]                                                                                 ` <cfd19c01-91e7-4e01-b2e8-e89f6c18764e@googlegroups.com>
2012-07-16 21:58                                                                                   ` Ludovic Brenta
2012-07-16 22:14                                                                                   ` Simon Wright
2012-07-24 13:09                                                                                     ` Ada novice
2012-07-24 13:54                                                                                       ` Nasser M. Abbasi
2012-07-24 14:18                                                                                         ` Simon Wright
2012-07-24 14:59                                                                                           ` Ada novice
     [not found]                                                                                           ` <1b104165-d8e4-4eb2-89ad-f6ac48bf2578@googlegroups.com>
2012-07-24 15:11                                                                                             ` Simon Wright
     [not found]                                                                                             ` <09au08pi7740v52v9237e79om6fpm2nllv@invalid.netcom.com>
2012-07-25  5:04                                                                                               ` Ada novice
2012-07-24 15:19                                                                                           ` Nasser M. Abbasi [this message]
2012-07-24 15:27                                                                                             ` Ada novice
2012-07-24 15:40                                                                                               ` Ada novice
2012-07-24 16:41                                                                                                 ` Nasser M. Abbasi
2012-07-24 17:36                                                                                                   ` Ada novice
2012-07-24 22:13                                                                                                     ` Nasser M. Abbasi
2012-07-25  5:36                                                                                                       ` Ada novice
2012-07-25  6:13                                                                                                         ` Nasser M. Abbasi
2012-07-25  8:56                                                                                                           ` Ada novice
2012-07-25  9:04                                                                                                             ` Nasser M. Abbasi
2012-07-25  9:16                                                                                                               ` Ada novice
2012-07-25  9:23                                                                                                                 ` Martin
2012-07-25 11:33                                                                                                                   ` Ada novice
2012-07-25  9:26                                                                                                             ` Georg Bauhaus
2012-07-25 11:37                                                                                                               ` Ada novice
2012-07-25 15:37                                                                                                                 ` Ada novice
2012-07-25 17:04                                                                                                                   ` Ada novice
2012-07-26 19:02                                                                                                                     ` Ada novice
2012-07-11 21:39                               ` Simon Wright
2012-07-10  9:32               ` Simon Wright
replies disabled

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