comp.lang.ada
 help / color / mirror / Atom feed
* Re: Gnat  Free ?
@ 1998-10-22  0:00 Van Snyder
  1998-10-22  0:00 ` gnat-3.10p and RedHat Linux (was Gnat Free ?) David C. Hoos, Sr.
  0 siblings, 1 reply; 2+ messages in thread
From: Van Snyder @ 1998-10-22  0:00 UTC (permalink / raw)
  To: dewar

I just downloaded gnat-3.10p-i386-linux-bin from ftp.cs.nyu.edu.  I installed
it in /opt/gnat, and sourced env-vals.  It won't link any of the examples
because RedHat's path to some object files
(/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/crtbegin.o) is different from what
gnat expects.  I couldn't find a discussion of what environment variable
(if any) to set to point to the C libraries.

Can you send it to me?

Also I've seen mention of a FAQ about using gnat in general and maybe 3.10p
specifically under RedHat Linux.  I looked at
ftp:rtfm.mit.edu/pub/usenet-by-group/comp.lang.ada but it's empty.  Where's
the FAQ list?

-- 
What fraction of Americans believe   |  Van Snyder
Wrestling is real and NASA is fake?  |  vsnyder@math.jpl.nasa.gov




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: gnat-3.10p and RedHat Linux (was Gnat  Free ?)
  1998-10-22  0:00 Gnat Free ? Van Snyder
@ 1998-10-22  0:00 ` David C. Hoos, Sr.
  0 siblings, 0 replies; 2+ messages in thread
From: David C. Hoos, Sr. @ 1998-10-22  0:00 UTC (permalink / raw)



Van Snyder wrote in message <70lv2n$mrp@netline.jpl.nasa.gov>...
>I just downloaded gnat-3.10p-i386-linux-bin from ftp.cs.nyu.edu.  I
installed
>it in /opt/gnat, and sourced env-vals.  It won't link any of the examples
>because RedHat's path to some object files
>(/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/crtbegin.o) is different from
what
>gnat expects.  I couldn't find a discussion of what environment variable
>(if any) to set to point to the C libraries.
>
>Can you send it to me?
>
>Also I've seen mention of a FAQ about using gnat in general and maybe 3.10p
>specifically under RedHat Linux.  I looked at
>ftp:rtfm.mit.edu/pub/usenet-by-group/comp.lang.ada but it's empty.  Where's
>the FAQ list?


Since this is a gnat question, the place you want to look is the gnat chat
archive.

Here is a list of links to some of the gnat chat archive messages on this
subject:

http://www.gnat.com/chat/1852.html
http://www.gnat.com/chat/1853.html
http://www.gnat.com/chat/1854.html
http://www.gnat.com/chat/1855.html
http://www.gnat.com/chat/1857.html
http://www.gnat.com/chat/1858.html
http://www.gnat.com/chat/1864.html
http://www.gnat.com/chat/1901.html
http://www.gnat.com/chat/1903.html
http://www.gnat.com/chat/1936.html
http://www.gnat.com/chat/1940.html
http://www.gnat.com/chat/1941.html
http://www.gnat.com/chat/1944.html
http://www.gnat.com/chat/2248.html
http://www.gnat.com/chat/2249.html
http://www.gnat.com/chat/2252.html
http://www.gnat.com/chat/2253.html
http://www.gnat.com/chat/2254.html
http://www.gnat.com/chat/2276.html
http://www.gnat.com/chat/2279.html
http://www.gnat.com/chat/2280.html
http://www.gnat.com/chat/2384.html
http://www.gnat.com/chat/2385.html
http://www.gnat.com/chat/2499.html
http://www.gnat.com/chat/2500.html
http://www.gnat.com/chat/2501.html
http://www.gnat.com/chat/2502.html
http://www.gnat.com/chat/2505.html
http://www.gnat.com/chat/2508.html
http://www.gnat.com/chat/2509.html
http://www.gnat.com/chat/2511.html
http://www.gnat.com/chat/2512.html
http://www.gnat.com/chat/2513.html
http://www.gnat.com/chat/2514.html
http://www.gnat.com/chat/2516.html
http://www.gnat.com/chat/2778.html
http://www.gnat.com/chat/2779.html
http://www.gnat.com/chat/2780.html
http://www.gnat.com/chat/2781.html
http://www.gnat.com/chat/2855.html
http://www.gnat.com/chat/2857.html
http://www.gnat.com/chat/2859.html





Here is a posting I have made many, many times regarding gnat-3.10p with
Redhat:


A number of people have found that this solution works for them.  The
cause of the segmentation fault is the change of the size of sigset_t
from 32 bits to 1024 bits.

I have posted this message several times on gnat chat -- so here it is
again:


For what it's worth, Here's how I have gnat-3.10p running on RedHat 5.0.
I did it originally with the 2.0.31 kernel, the upgraded to the 2.0.32
kernel.


The fundamental problem is that RedHat 5.0 increases the size of sigset_t
from 32 bits to 1024 bits.


To correct this problem, the file s-osinte.ads needs to be altered -- e.g.
as follows:


591c591,593
< type sigset_t is new unsigned_long;



---
>    SIGSET_NWORDS : constant := 1024 / (unsigned_long'Size);
>
>    type sigset_t is array (1 .. SIGSET_NWORDS) of unsigned_long;

Then, the adalib(s) need to be compiled -- either the native linux threads
runtime or the Florida State University (fsu) runtime, or both.

To do this I executed the following script in each adalib directory:

#!/bin/tcsh -f
foreach f (../adainclude/*.ad[bs])
  gcc -c -O2 -gnatpga -I- $f
end

To be sure, this script re-compiles some stuff not rendered obsolete by
the change to s-osinte.ads, but it was quicker just to recompile
everything than to figure out what needed to be recompiled.

Next, the libgnat.a archive needs to be rebuilt with something like:

ar ru libgnat.a *.o, in each of the adalibs.

In my case, the size of the libgnat.a file for the native rts changed as
follows:
-rw-r--r--   1 root     root      1747090 Feb 14 12:21 ../adalib/libgnat.a
-rw-r--r--   1 4168     1100      1740584 Aug 24  1997
../adalib/libgnat.a.orig

I don't remember for sure, but I don't think I manually manipulated any of
the symbolic links related to the libraries, but at any rate, here's what my
/usr/lib/gcc-lib/i386-linux/2.7.2.1 directory looks like (sorry but these
long lines may wrap in you mail client):

NOTE: While the above comment about my not remembering making any
symbolic liks is true, the evidence below suggests that I symbolically
linked
several files in  /usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/2.7.2.1 to the
/usr/lib/gcc-lib/i386-linux/2.7.2.1 directory.

total 2743
lrwxrwxrwx   1 root     root           50 Feb 12 05:24 2.7.2.1 ->
/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/2.7.2.1
lrwxrwxrwx   1 root     root           55 Feb 12 05:24 SYSCALLS.c.X ->
/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/SYSCALLS.c.X
lrwxrwxrwx   1 root     root           58 Feb 20 04:22 adainclude ->
/usr/lib/gcc-lib/i386-linux/2.7.2.1/rts-native/adainclude/
lrwxrwxrwx   1 root     root           54 Feb 20 04:22 adalib ->
/usr/lib/gcc-lib/i386-linux/2.7.2.1/rts-native/adalib/
lrwxrwxrwx   1 root     root           46 Feb 12 05:24 cc1 ->
/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cc1
lrwxrwxrwx   1 root     root           50 Feb 12 05:24 cc1plus ->
/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cc1plus
lrwxrwxrwx   1 root     root           46 Feb 12 05:24 cpp ->
/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cpp
lrwxrwxrwx   1 root     root           53 Feb 12 05:24 crtbegin.o ->
/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/crtbegin.o
lrwxrwxrwx   1 root     root           54 Feb 12 05:24 crtbeginS.o ->
/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/crtbeginS.o
lrwxrwxrwx   1 root     root           51 Feb 12 05:24 crtend.o ->
/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/crtend.o
lrwxrwxrwx   1 root     root           52 Feb 12 05:24 crtendS.o ->
/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/crtendS.o
-rwxr-xr-x   1 4168     1100      2271408 Sep 12  1997 gnat1
lrwxrwxrwx   1 root     root           50 Feb 12 05:24 include ->
/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/include
-rw-r--r--   1 root     root       206902 Feb 14 10:10 libgcc.a
-rw-r--r--   1 root     root       238346 Feb 14 10:10 libgthreads.a
-rw-r--r--   1 root     root        74242 Feb 14 10:10 libmalloc.a
drwxr-xr-x   4 4168     1100         1024 Aug 24  1997 rts-fsu
drwxr-xr-x   4 4168     1100         1024 Aug 24  1997 rts-native
lrwxrwxrwx   1 root     root           48 Feb 12 05:24 specs ->
/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/specs

As a further sanity check, executing "gcc -v" should result in a message
like:

Reading specs from: /usr/lib/gcc-lib/i386-linux/2.7.2.1/specs

The 2.7.2.1 directory points to 2.7.2.3 because gcc 2.7.2.3 was installed
first (as part of the Linux installation), then gnat was installed on top of
that -- and gnat is 2.7.2.1-based.

I hope I've covered all of the bases here, as this installation is working
fine for me.

I should acknowledge that others of this group helped me when I ran into the
problem a few weeks ago, identifying the cause of the problem and providing
the broad outline of what to do.

Good luck to all who have this problem.

David C. Hoos, Sr.









^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1998-10-22  0:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-10-22  0:00 Gnat Free ? Van Snyder
1998-10-22  0:00 ` gnat-3.10p and RedHat Linux (was Gnat Free ?) David C. Hoos, Sr.

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