home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / ada / gnat-3.05- / gnat-3 / gnat-3.05-i486-linux-elf-bin / README.Linux < prev    next >
Encoding:
Text File  |  1996-06-11  |  4.5 KB  |  108 lines

  1.  
  2.   This is the Linux binary distribution of GNAT compiled as ELF
  3. binaries.  If your system is not ELF (i.e. a.out), this is not for
  4. you.  It was compiled with gcc 2.7.2, binutils 2.6.0.2, and
  5. libc-5.2.18.  The gcc 2.7.2 binary is not included in this release
  6. (except for the GNAT specific part) but is required to use GNAT. You
  7. must get the gcc-2.7.2 binaries from somewhere like:
  8.  
  9.   sunsite.unc.edu in /pub/Linux/GCC
  10.   tsx-11.mit.edu in /pub/linux/packages/GCC
  11.  
  12. To install the binary release, you are given 3 optional installation
  13. procedures.  I strongly suggest using the first option for Linux.
  14. The following steps will install GNAT:
  15.  
  16.   su
  17.   ./doconfig    # ------ select option 1
  18.   ./doinstall
  19.  
  20. Note that everything included was compiled from publically available
  21. packages.  This means that anyone can recompile GNAT for themselves.
  22.  
  23. This package was created on a system as close to vanilla Slackware 3.0
  24. as I could make it.  I installed Slackware 3.0 downloaded from a
  25. mirror site on 2-12-96.  I had to use the 1.3.20 kernel supplied with
  26. Slackware as 1.2.13 will not compile with gcc-2.7.2.  I then installed
  27. the following packages from one of the above ftp sites/directories:
  28.  
  29.   gcc-2.7.2.bin.tar.gz
  30.   binutils-2.6.0.2.bin.tar.gz
  31.   libc-5.2.18.bin.tar.gz
  32.  
  33. Once you install the new libc, you have to run /sbin/ldconfig and
  34. reboot.
  35.  
  36. I then installed the fixed version of make found on
  37.  
  38.   sunsite.unc.edu in /pub/Linux/devel/make
  39.  
  40. The file is called make-3.74-direntfix-elf.tgz
  41.  
  42. There has been a long-standing bug in the dirent libc function that
  43. was still present in libc-5.0.9, but was fixed by libc-5.2.18.
  44. Without this version of make, you will get odd errors from make
  45. regarding no targets or something like that.  If you suspect your make
  46. is faulty, try invoking it as "make -f Makefile" and see if it behaves
  47. differently.
  48.  
  49. After the above steps, I recompiled my kernel to make sure all was in
  50. order.  It was :-)
  51.  
  52. For the present, this is the minimum system upgrade of Slackware 3.0
  53. required to use GNAT.  When a new version of Slackware is available, I
  54. hope to eliminate the need to install any packages beyond those
  55. provided with the distribution.
  56.  
  57. There are a few items that need to be mentioned:
  58.  
  59.   1) The pthread library is 1.60.4. It is the version that has been
  60.      incorporated into the libc library with the included
  61.      libc-5.2.18.dif.gz compressed patch file applied. The pthread
  62.      library is not included in the binary release of libc, but you
  63.      can compile it from the sources (plus patch) if you want.  I
  64.      have included the pthread library in the GNAT binary archive.
  65.      There is a more recent public release of libc, but GNAT will
  66.      remain with 5.2.18 until there is a new Linux distribution
  67.      based on the newer libc.  This is mainly because the malloc
  68.      is the newer libc is less forgiving and has uncovered bugs
  69.      in software that works with 5.2.18.
  70.  
  71.   2) The release includes the gcc front-end program "gcc".  This is
  72.      because important information required by gcc to recognize
  73.      other languages has been removed from the base source code and
  74.      is instead compiled in separately.  This means that if you need
  75.      support for languages other than C/C++/ObjC/Ada95 from gcc (like
  76.      Fortran), you'll have to compile gcc with all the desired
  77.      languages together.
  78.  
  79.   3) These are the steps required to recompile GNAT:
  80.  
  81.       # first, untar the gcc-2.7.2 and gnat sources.
  82.       # apply the gcc272.dif to gcc-2.7.2.
  83.       # For building the RTS as an ELF shared library, apply the linux.dif
  84.       #  found with the binary release.  A bug in PIC generation causes
  85.       #  problems with the package Interfaces.Cobol which required the
  86.       #  exclusion of it from this version of the shared library.
  87.       # mv the gnat-x.xx-src/src/ada directory into the gcc-2.7.2 directory.
  88.       # cd to the gcc-2.7.2 directory.
  89.       ./configure --target=i486-linux --with-gnu-as --with-gnu-ld --prefix=/usr
  90.       make CFLAGS="-O3 -fomit-frame-pointer"
  91.       make CFLAGS="-O3 -fomit-frame-pointer" gnatboot
  92.       make CFLAGS="-O3 -fomit-frame-pointer" gnattools
  93.       make CFLAGS="-g -fPIC -D_MIT_POSIX_THREADS" gnatlib
  94.       su
  95.       make install
  96.  
  97.   4) This release includes a shared library version of the RTS.
  98.  
  99. Note:  The ELF version of GNAT for Linux on the x86 platform is fully
  100.        supported by Ada Core Technologies (ACT).  Anyone interested in
  101.        purchasing support for this product should contact ACT at
  102.        support@gnat.com for more details.
  103.  
  104. Enjoy,
  105.  
  106. Sean McNeil
  107. (Report all bugs/omissions/problems to report@gnat.com)
  108.