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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,51a4b673bb551ced X-Google-Attributes: gid103376,public From: david.c.hoos.sr@ada95.com Subject: Re: GNAT installation Date: 1998/12/08 Message-ID: <74j3jh$jrt$1@nnrp1.dejanews.com> X-Deja-AN: 420019477 References: <366BB468.6553@spider.com> To: amaranda@spider.com X-Http-Proxy: 1.0 x3.dejanews.com:80 (Squid/1.1.22) for client 207.120.51.251 Organization: Deja News - The Leader in Internet Discussion X-Article-Creation-Date: Tue Dec 08 11:46:57 1998 GMT Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows NT) Date: 1998-12-08T00:00:00+00:00 List-Id: In article <366BB468.6553@spider.com>, Alex Maranda wrote: > Hi, > > I have trouble installing GNAT3.10p on a Linux box. The (only) binary > distribution I could find (based on gcc2.7.2.1) misses two key object > files for the compiler back-end (linker actually): crtbegin.o, crtend.o. > I tried to work around the problem by putting in place the object files > from vanilla gcc2.7.2.3, and managed to link executables, but it > coredumps miserably. > options: > 1. find sane GNAT distribution with the object files in place (need URL) > 2. get those little bastards from somewhere (a caring netmate :-) > 3. fill in yours > It would really help if you would specify on which of the myriad "Linux boxes" you're running. In case it's Redhat 5, here is a message I have posted numerous times on the gnat-chat mail list (really the best place for gnat-specific help): >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 gant 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. > Cheers, > Alex > -- > Alex Maranda mailto: amaranda@spider.com > Spider Software Ltd. Tel: +44 (0)131 4757036 > Edinburgh, UK http://members.xoom.com/Alex_Maranda > STREAMS based communications protocols for embedded systems > -----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own