Version 2 (modified by 17 years ago) ( diff ) | ,
---|
Installing a Fortran compiler using GCC-3.4.6
These instructions are specific for installation of a Fortran compiler into the /opt/gcc-3.4.6
directory structure using the GCC-3.4.6 source files. A C compiler will also be installed but it will not interfere with or affect your existing C compiler.
Instead of the opt/gcc-3.4.6
directory structure, you may want (or need) to install the compilers into a private directory, or some other location. Do keep in mind that wherever you install it, you'll need to create symbolic links to the libg2c.so
and libg2c.so.0
library links, if these links are not located where they will be picked up by the linker's cache (/lib
, /usr/lib
, or any location defined in /etc/ld.so.conf
).
Downloading the Sources
Package Tarballs
First you need to download the two source tarballs you'll need:
- http://ftp.gnu.org/gnu/gcc/gcc-3.4.6/gcc-core-3.4.6.tar.bz2
- http://ftp.gnu.org/gnu/gcc/gcc-3.4.6/gcc-g77-3.4.6.tar.bz2
If you have the DejaGnu package installed (requires Expect and Tcl), you should also download the testsuite tarball:
Alternatively, download the complete tarball which includes all the compilers and the testsuite:
Required Patches
You'll also need to download two patches:
- http://www.linuxfromscratch.org/blfs/downloads/6.1/gcc-3.4.3-no_fixincludes-1.patch
- http://www.linuxfromscratch.org/blfs/downloads/6.1/gcc-3.4.3-linkonce-1.patch
Preparing the Sources
Unpack the source tarballs. Everything will unpack into a gcc-3.4.6
directory. Change into the newly created gcc-3.4.6
directory, apply the two patches and issue a sed
command:
patch -Np1 -i ../gcc-3.4.3-no_fixincludes-1.patch && patch -Np1 -i ../gcc-3.4.3-linkonce-1.patch sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
Install the Compilers
Note that these instructions only install the C and Fortran compilers. If you wish to install additional compilers (not including the Ada compiler), add them to the configure
command below. Exercise caution installing the C++ compiler as the libraries could conflict with your existing system C++ libraries. Additionally, you can adjust the --prefix=
parameter to install the compilers in a location other than /opt/gcc-3.4.6
. Issue the following commands as an unprivileged user:
mkdir ../gcc-build && cd ../gcc-build && ../gcc-3.4.6/configure --prefix=/opt/gcc-3.4.6 \ --libexecdir=/opt/gcc-3.4.6/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=c,f77 & make bootstrap && make -k check && ../gcc-3.4.3/contrib/test_summary && ../gcc-3.4.3/contrib/test_summary | grep -A7 Summ
Go get a cup of coffee because this is going to take a while. The last couple of commands will produce summaries of the test results. There should be no errors produced by the Fortran tests and only one error produced from the tests of the C compiler.
You may need to switch to the root user for the remainder of the installation:
make install && ln -v -s gcc /opt/gcc-3.4.6/bin/cc && ln -v -s g77 /opt/gcc-3.4.6/bin/f77 && ln -v -s /opt/gcc-3.4.6/lib/libg2c.so /usr/lib && ln -v -s /opt/gcc-3.4.6/lib/libg2c.so.0 /usr/lib
Your Fortran compiler is now installed. Using it is as simple as putting the directory where the g77
file and the f77
links are located at the beginning of your PATH. For example, at the beginning of a compilation requiring a Fortran compiler, issue these commands:
export PATH_HOLD=$PATH export PATH=/opt/gcc-3.4.6/bin:$PATH_HOLD echo $PATH
If you have which
installed, issue: which gcc
, and this can confirm you are using the compiler you think you are. When finished, log out and back in again, or restore your path by issuing: export PATH=$PATH_HOLD.