This is the Linux binary distribution of GNAT compiled as ELF binaries. If your system is not ELF (i.e. a.out), this is not for you. It was compiled with gcc 2.7.2.1, binutils 2.6.0.2, and libc-5.3.12. The gcc 2.7.2 binary is not included in this release (except for the GNAT specific part) but is required to use GNAT. You must get the gcc-2.7.2.1 binaries from somewhere like: sunsite.unc.edu in /pub/Linux/GCC tsx-11.mit.edu in /pub/linux/packages/GCC To install the binary release, you are given 3 optional installation procedures. I strongly suggest using the first option for Linux. The following steps will install GNAT: su ./doconfig # ------ select option 1 ./doinstall Note that everything included was compiled from publically available packages. This means that anyone can recompile GNAT for themselves. This package uses gcc 2.7.2.1 because the gcc community practically created this release just for Linux users. It fixes a bug that is considered by Linux users to be very serious, yet is rarely encountered (except when compiling the Linux kernel). This package, in turn, requires a newer libc. Apparantly, the latest libc also requires a new ld.so. I am uncertain of the reason, but the latest libc is just ignored without it (latest ld.so). Once you install the new libc, you have to run /sbin/ldconfig and reboot. There are a few items that need to be mentioned: 1) The release includes the gcc front-end program "gcc". This is because important information required by gcc to recognize other languages has been removed from the base source code and is instead compiled in separately. This means that if you need support for languages other than C/C++/ObjC/Ada95 from gcc (like Fortran), you'll have to compile gcc with all the desired languages together. 2) These are the steps required to recompile GNAT: # first, untar the gcc-2.7.2.1 and gnat sources. # apply the gcc272.dif to gcc-2.7.2. Do not apply reverse patch. # For building the RTS as an ELF shared library, apply the linux.dif # found with the binary release. A bug in PIC generation causes # problems with the package Interfaces.Cobol which required the # exclusion of it from this version of the shared library. # mv the gnat-x.xx-src/src/ada directory into the gcc-2.7.2.1 directory. # cd to the gcc-2.7.2.1 directory. ./configure --with-gnu-as --with-gnu-ld --prefix=/usr i486-linux make CFLAGS="-O3 -fomit-frame-pointer" make CFLAGS="-O3 -fomit-frame-pointer" gnatboot make CFLAGS="-O3 -fomit-frame-pointer" gnattools make CFLAGS="-g -fPIC -D_MIT_POSIX_THREADS" gnatlib su make install 4) This release includes a shared library version of the RTS. 5) You must have the C compiler from this binary release (which isn't installed by default) or the previous release to compile GNAT. There are two new builtin functions (setjmp, longjmp) that are not present without the gcc272.dif patches. If you do not have this, then you can apply the patches to gcc and compile/install gcc first with just LANGUAGES="c". Note: The ELF version of GNAT for Linux on the x86 platform is fully supported by Ada Core Technologies (ACT). Anyone interested in purchasing support for this product should contact ACT at support@gnat.com for more details. Enjoy, Sean McNeil (Report all bugs/omissions/problems to report@gnat.com)