# Fortran Wiki GFortran

GFortran is the name of the GNU Fortran project, developing a free Fortran compiler for GCC, the GNU Compiler Collection.

GFortran was forked from G95 in January 2003.

GFortran 6.2 was released on August 22, 2016. The current development version is GFortran 7.

The GNU Fortran Compiler Internals documents the internals of gfortran.

Joe Krahn GFortran is intended to be a standard-conforming compiler, and should be a good reference compiler even if it is not your primary Fortran compiler. However, it is still not up to the quality of G77, partly because Fortran90 and higher are much more complex than Fortran77. It seems to be very reliable for Fortran77 code. Most of the outstanding bugs are related to newly implemented F2003 and F2008 features.

Jason Blevins: I’ve used GFortran extensively in my research for the past three years or so without any issues.

## Contributing to GFortran

Tobias Burnus posted a very thorough message to comp.lang.fortran describing ways that new contributors can get started helping with GFortran development:

## Using GCC Development Builds on Linux

The general page for binary downloads is http://gcc.gnu.org/wiki/GFortranBinaries. Binaries for 32-bit and 64-bit Linux systems can be found at:

% cd /tmp
% wget http://users.physik.fu-berlin.de/~tburnus/gcc-trunk/gcc-trunk-x86_64.tar.gz

Uncompress the tarball in /opt:

% cd /opt
% sudo tar zxvf /tmp/gcc-trunk-x86_64.tar.gz

Check to see if it works:

% /opt/gcc-trunk/bin/gfortran --version
GNU Fortran (GCC) 4.5.0 20090508 (experimental) [trunk revision 147272]

Set LD_LIBRARY_PATH and PATH. For zsh, this will work for both the x86_64 and i386 versions:

# Determine platform
ARCH=uname -m

# GFortran
export PATH=/opt/gcc-trunk/bin:${PATH} if [[${ARCH} == "x86_64" ]]; then
LIB64="64"
fi

if [ -z "$LD_LIBRARY_PATH" ]; then LD_LIBRARY_PATH="/opt/gcc-trunk/lib${LIB64}"
else
LD_LIBRARY_PATH="/opt/gcc-trunk/lib${LIB64}:$LD_LIBRARY_PATH"
fi
export LD_LIBRARY_PATH

See the GFortran wiki pages above for details on bash and csh/tcsh.