aboutsummaryrefslogtreecommitdiff
path: root/gcc/f/INSTALL
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/f/INSTALL')
-rw-r--r--gcc/f/INSTALL140
1 files changed, 85 insertions, 55 deletions
diff --git a/gcc/f/INSTALL b/gcc/f/INSTALL
index d8a1dd89799..db4157af389 100644
--- a/gcc/f/INSTALL
+++ b/gcc/f/INSTALL
@@ -38,8 +38,9 @@ follow the `g77' installation instructions:
available--in fact, a complete GNU UNIX system can be put together
on most systems, if desired.
- The version of GNU `gzip' used to package this release is 1.24.
- (The version of GNU `tar' used to package this release is 1.11.2.)
+ The version of GNU `gzip' used to package this release is
+ 1.2.4. (The version of GNU `tar' used to package this release is
+ 1.12.)
`gcc-2.7.2.3.tar.gz'
You need to have this, or some other applicable, version of `gcc'
@@ -54,7 +55,7 @@ follow the `g77' installation instructions:
Without an applicable `gcc' source tree, you cannot build `g77'.
You can obtain an FSF distribution of `gcc' from the FSF.
-`g77-0.5.21.tar.gz'
+`g77-0.5.22.tar.gz'
You probably have already unpacked this package, or you are
reading an advance copy of these installation instructions, which
are contained in this distribution. The size of this package is
@@ -145,14 +146,16 @@ Enough disk space
In any case, you can apply patches by hand--patch files are
designed for humans to read them.
- The version of GNU `patch' used to develop this release is 2.4.
+ The version of GNU `patch' used to develop this release is
+ 2.5.
`make'
Your system must have `make', and you will probably save yourself
a lot of trouble if it is GNU `make' (sometimes referred to as
`gmake').
- The version of GNU `make' used to develop this release is 3.73.
+ The version of GNU `make' used to develop this release is
+ 3.76.1.
`cc'
Your system must have a working C compiler.
@@ -167,7 +170,8 @@ Enough disk space
distribution. You can obtain `bison' the same way you obtained
`gcc' and `g77'.
- The version of GNU `bison' used to develop this release is 1.25.
+ The version of GNU `bison' used to develop this release is
+ 1.25.
*Note Missing bison?::, for information on how to work around not
having `bison'.
@@ -187,10 +191,10 @@ Enough disk space
All UNIX systems have `sed', but some have a broken version that
cannot handle configuring, building, or installing `gcc' or `g77'.
- The version of GNU `sed' used to develop this release is 2.05.
- (Note that GNU `sed' version 3.0 was withdrawn by the FSF--if you
- happen to have this version installed, replace it with version
- 2.05 immediately. See a GNU distribution site for further
+ The version of GNU `sed' used to develop this release is
+ 2.05. (Note that GNU `sed' version 3.0 was withdrawn by the
+ FSF--if you happen to have this version installed, replace it with
+ version 2.05 immediately. See a GNU distribution site for further
explanation.)
`root' access or equivalent
@@ -338,7 +342,20 @@ corresponding output files.
If the above does not work, definitely start from scratch and avoid
copying the `gcc' using any method that does not reliably preserve
-date-time-modified information, such as the UNIX `cp -r' command.
+date-time-modified information, such as the UNIX `cp -r' command (use
+`cp -pr' instead).
+
+System-specific Problems
+------------------------
+
+ If your system is based on a Digital Alpha (AXP) architecture and
+employs a 64-bit operating system (such as GNU/Linux), you might
+consider using `egcs' instead of versions of `g77' based on versions of
+`gcc' prior to 2.8. `http://www.cygnus.com/egcs' for information on
+`egcs', or obtain a copy from `ftp://egcs.cygnus.com/pub/egcs'.
+
+ If your system is Irix 6, to obtain a working version of `gcc',
+`http://reality.sgi.com/knobi/gcc-2.7.2.x-on-irix-6.2-6.3'.
Cross-compiler Problems
-----------------------
@@ -491,11 +508,12 @@ Floating-point Bit Patterns
The `g77' build will crash if an attempt is made to build it as a
cross-compiler for a target when `g77' cannot reliably determine the
bit pattern of floating-point constants for the target. Planned
-improvements for g77-0.6 will give it the capabilities it needs to not
-have to crash the build but rather generate correct code for the target.
-(Currently, `g77' would generate bad code under such circumstances if
-it didn't crash during the build, e.g. when compiling a source file
-that does something like `EQUIVALENCE (I,R)' and `DATA R/9.43578/'.)
+improvements for version 0.6 of `g77' will give it the capabilities it
+needs to not have to crash the build but rather generate correct code
+for the target. (Currently, `g77' would generate bad code under such
+circumstances if it didn't crash during the build, e.g. when compiling
+a source file that does something like `EQUIVALENCE (I,R)' and `DATA
+R/9.43578/'.)
Initialization of Large Aggregate Areas
---------------------------------------
@@ -567,7 +585,7 @@ is assumed that the source distributions themselves already reside in
system:
/usr/FSF/gcc-2.7.2.3.tar.gz
- /usr/FSF/g77-0.5.21.tar.gz
+ /usr/FSF/g77-0.5.22.tar.gz
Users of the following systems should not blindly follow these
quick-start instructions, because of problems their systems have coping
@@ -593,17 +611,17 @@ of some of the steps. These explanations follow this list of steps.
sh[ 2]# gunzip -c < /usr/FSF/gcc-2.7.2.3.tar.gz | tar xf -
[Might say "Broken pipe"...that is normal on some systems.]
- sh[ 3]# gunzip -c < /usr/FSF/g77-0.5.21.tar.gz | tar xf -
+ sh[ 3]# gunzip -c < /usr/FSF/g77-0.5.22.tar.gz | tar xf -
["Broken pipe" again possible.]
sh[ 4]# ln -s gcc-2.7.2.3 gcc
- sh[ 5]# ln -s g77-0.5.21 g77
+ sh[ 5]# ln -s g77-0.5.22 g77
sh[ 6]# mv -i g77/* gcc
[No questions should be asked by mv here; or, you made a mistake.]
- sh[ 7]# patch -p1 -V t -d gcc < gcc/f/gbe/2.7.2.3.diff
+ sh[ 7]# patch -p1 -E -V t -d gcc < gcc/f/gbe/2.7.2.3.diff
[Unless patch complains about rejected patches, this step worked.]
sh[ 8]# cd gcc
@@ -655,17 +673,17 @@ Step 1: `cd /usr/src'
your system knew where to look for the source code for the
installed version of `g77' and `gcc' in any case.
-Step 3: `gunzip -d < /usr/FSF/g77-0.5.21.tar.gz | tar xf -'
+Step 3: `gunzip -d < /usr/FSF/g77-0.5.22.tar.gz | tar xf -'
It is not always necessary to obtain the latest version of `g77'
as a complete `.tar.gz' file if you have a complete, earlier
distribution of `g77'. If appropriate, you can unpack that earlier
version of `g77', and then apply the appropriate patches to
- achieve the same result--a source tree containing version 0.5.21
- of `g77'.
+ achieve the same result--a source tree containing version
+ 0.5.22 of `g77'.
Step 4: `ln -s gcc-2.7.2.3 gcc'
-Step 5: `ln -s g77-0.5.21 g77'
+Step 5: `ln -s g77-0.5.22 g77'
These commands mainly help reduce typing, and help reduce visual
clutter in examples in this manual showing what to type to install
`g77'.
@@ -675,7 +693,7 @@ Step 5: `ln -s g77-0.5.21 g77'
Step 6: `mv -i g77/* gcc'
After doing this, you can, if you like, type `rm g77' and `rmdir
- g77-0.5.21' to remove the empty directory and the symbol link to
+ g77-0.5.22' to remove the empty directory and the symbol link to
it. But, it might be helpful to leave them around as quick
reminders of which version(s) of `g77' are installed on your
system.
@@ -684,10 +702,9 @@ Step 6: `mv -i g77/* gcc'
directory (as merged into the `gcc' directory).
Step 7: `patch -p1 ...'
- This can produce a wide variety of printed output, from `Hmm, I
- can't seem to find a patch in there anywhere...' to long lists of
- messages indicated that patches are being found, applied
- successfully, and so on.
+ If you are using GNU `patch' version 2.5 or later, this should
+ produce a list of files patched. (Other versions of `patch' might
+ not work properly.)
If messages about "fuzz", "offset", or especially "reject files"
are printed, it might mean you applied the wrong patch file. If
@@ -701,6 +718,13 @@ Step 7: `patch -p1 ...'
*Note Merging Distributions::, for more information.
+ *Note:* `gcc' versions circa 2.7.2.2 and 2.7.2.3 are known to have
+ slightly differing versions of the `gcc/ChangeLog' file, depending
+ on how they are obtained. You can safely ignore diagnostics
+ `patch' reports when patching this particular file, since it is
+ purely a documentation file for implementors. See
+ `gcc/f/gbe/2.7.2.3.diff' for more information.
+
Step 9: `touch f77-install-ok'
Don't do this if you don't want to overwrite an existing version
of `f77' (such as a native compiler, or a script that invokes
@@ -833,9 +857,9 @@ generally only the documentation is immediately usable.
sh# cd /usr/src
sh# gunzip -c /usr/FSF/gcc-2.7.2.3.tar.gz | tar xf -
- sh# gunzip -c /usr/FSF/g77-0.5.21.tar.gz | tar xf -
+ sh# gunzip -c /usr/FSF/g77-0.5.22.tar.gz | tar xf -
sh# ln -s gcc-2.7.2.3 gcc
- sh# ln -s g77-0.5.21 g77
+ sh# ln -s g77-0.5.22 g77
sh# mv -i g77/* gcc
*Notes:* The commands beginning with `gunzip...' might print `Broken
@@ -947,10 +971,9 @@ changes to the `g77' front end (FFE).
in general, will stabilize sufficiently for the need for hand-patching
to disappear.
- Invoking `patch' as described in `gcc/f/gbe/README' can produce a
-wide variety of printed output, from `Hmm, I can't seem to find a patch
-in there anywhere...' to long lists of messages indicated that patches
-are being found, applied successfully, and so on.
+ If you are using GNU `patch' version 2.5 or later, this should
+produce a list of files patched. (Other versions of `patch' might not
+work properly.)
If messages about "fuzz", "offset", or especially "reject files" are
printed, it might mean you applied the wrong patch file. If you
@@ -966,6 +989,13 @@ works).
of several files as saved by `patch'. To remove these, after `cd gcc',
type `rm -i *.~*~'.
+ *Note:* `gcc' versions circa 2.7.2.2 and 2.7.2.3 are known to have
+slightly differing versions of the `gcc/ChangeLog' file, depending on
+how they are obtained. You can safely ignore diagnostics `patch'
+reports when patching this particular file, since it is purely a
+documentation file for implementors. See `gcc/f/gbe/2.7.2.3.diff' for
+more information.
+
*Note:* `g77''s configuration file `gcc/f/config-lang.in' ensures
that the source code for the version of `gcc' being configured has at
least one indication of being patched as required specifically by `g77'.
@@ -975,7 +1005,8 @@ explanation. *Please* do not try to disable the check, otherwise `g77'
might well appear to build and install correctly, and even appear to
compile correctly, but could easily produce broken code.
- `diff -rcp2N' is used to create the patch files in `gcc/f/gbe/'.
+ `LC_ALL=C TZ=UTC0 diff -rcp2N' is used to create the patch files in
+`gcc/f/gbe/'.
Installing `f77'
----------------
@@ -1320,46 +1351,46 @@ them when they work:
sh# cd /usr/src/gcc
sh# ./g77 --driver=./xgcc -B./ -v
- g77 version 0.5.21
+ g77 version 0.5.22
./xgcc -B./ -v -fnull-version -o /tmp/gfa18047 ...
Reading specs from ./specs
- gcc version 2.7.2.3.f.1
+ gcc version 2.7.2.3.f.2
./cpp -lang-c -v -isystem ./include -undef ...
- GNU CPP version 2.7.2.3.f.1 (Linux/Alpha)
+ GNU CPP version 2.7.2.3.f.2 (Linux/Alpha)
#include "..." search starts here:
#include <...> search starts here:
./include
/usr/local/include
/usr/alpha-unknown-linux/include
- /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.3.f.1/include
+ /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.3.f.2/include
/usr/include
End of search list.
./f771 /tmp/cca18048.i -fset-g77-defaults -quiet -dumpbase ...
- GNU F77 version 2.7.2.3.f.1 (Linux/Alpha) compiled ...
- GNU Fortran Front End version 0.5.21 compiled: ...
+ GNU F77 version 2.7.2.3.f.2 (Linux/Alpha) compiled ...
+ GNU Fortran Front End version 0.5.22 compiled: ...
as -nocpp -o /tmp/cca180481.o /tmp/cca18048.s
ld -G 8 -O1 -o /tmp/gfa18047 /usr/lib/crt0.o -L. ...
- __G77_LIBF77_VERSION__: 0.5.21
+ __G77_LIBF77_VERSION__: 0.5.22
@(#)LIBF77 VERSION 19970404
- __G77_LIBI77_VERSION__: 0.5.21
+ __G77_LIBI77_VERSION__: 0.5.22
@(#) LIBI77 VERSION pjw,dmg-mods 19970816
- __G77_LIBU77_VERSION__: 0.5.21
+ __G77_LIBU77_VERSION__: 0.5.22
@(#) LIBU77 VERSION 19970609
sh# ./xgcc -B./ -v -o /tmp/delete-me -xc /dev/null -xnone
Reading specs from ./specs
- gcc version 2.7.2.3.f.1
+ gcc version 2.7.2.3.f.2
./cpp -lang-c -v -isystem ./include -undef ...
- GNU CPP version 2.7.2.3.f.1 (Linux/Alpha)
+ GNU CPP version 2.7.2.3.f.2 (Linux/Alpha)
#include "..." search starts here:
#include <...> search starts here:
./include
/usr/local/include
/usr/alpha-unknown-linux/include
- /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.3.f.1/include
+ /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.3.f.2/include
/usr/include
End of search list.
./cc1 /tmp/cca18063.i -quiet -dumpbase null.c -version ...
- GNU C version 2.7.2.3.f.1 (Linux/Alpha) compiled ...
+ GNU C version 2.7.2.3.f.2 (Linux/Alpha) compiled ...
as -nocpp -o /tmp/cca180631.o /tmp/cca18063.s
ld -G 8 -O1 -o /tmp/delete-me /usr/lib/crt0.o -L. ...
/usr/lib/crt0.o: In function `__start':
@@ -1605,10 +1636,9 @@ general) are broken, at least for their system.
Finally, *please* ask for bug reports to go to you first, at least
until you're sure your distribution is widely used and has been well
tested. This especially goes for those of you making any changes to
-the `g77' sources to port `g77', e.g. to OS/2.
-<fortran@gnu.ai.mit.edu> has received a fair number of bug reports that
-turned out to be problems with other peoples' ports and distributions,
-about which nothing could be done for the user. Once you are quite
-certain a bug report does not involve your efforts, you can forward it
-to us.
+the `g77' sources to port `g77', e.g. to OS/2. <fortran@gnu.org> has
+received a fair number of bug reports that turned out to be problems
+with other peoples' ports and distributions, about which nothing could
+be done for the user. Once you are quite certain a bug report does not
+involve your efforts, you can forward it to us.