Search A-Z index Help
University of Cambridge Home Chemistry Dept Home CUC3 home
University of Cambridge > Department of Chemistry > Theoretical Chemistry > Computer Support

NAG Fortran compiler

Description

The NAg Fortran 95 compiler. A very correct compiler, useful for software development.

Source

The compiler can be downloaded from http://www.nag.co.uk/nagware/NP/NP_trial.asp#download.

Availability

All workstations and servers

Licence details

This is commercial licence-managed software. We have a network licence for it under the University's site deal with NAG, which expires in July 2010. The licence server must be available and the licence free in order for you to compile, but you do not need the licence to run the resulting binaries. To make portable binaries it is recommended to use the -unsharedf95 option to link the compiler's libraries statically whilst linking system libraries dynamically.

Instructions for users

The compiler program is called f95, and it is usually available as a module sometimes loaded by default. We have several different version available; see the modules documentation for more detail. The module's name is 'nag' because 'f95' is too generic.

To use the network licence you must set LM_LICENSE_FILE to 28518@por.ch.private.cam.ac.uk in your environment for version 5.0, or NAG_KUSARI_FILE to por.ch.cam.ac.uk: for version 5.1. This should be done automatically on workstations so there's no need to set it by hand. Note the American spelling of LM_LICENSE_FILE.

Documentation

There is a manpage. NAG provide an online FAQ at http://www.nag.co.uk/nagware/NP/doc/faq.asp. Release notes are in $PREFIX/lib/NAGWare/doc. HTML versions of the man pages and the release notes are in $PREFIX/lib/NAGWare/html. $PREFIX is the base location of the compiler you're using. To find it, do which f95 and take off the bin/f95 bit at the end.

Admin notes

f95 calls a C compiler to produce the actual binary. You can specify a different compiler binary with -Wc. With the 5.1 release of the compiler you can persuade the 32-bit version to work on a 64-bit Linux by passing -Wc,-m32 -Wl,-m32 to call the compiler and linker in 32-bit mode. This doesn't seem to be needed on version 5.0. The options are probably best added to the f95 driver script.

There's a bug on the 64-bit 5.0 compiler which means that it can't use the FlexLM licence server. This only affects users of the clust and mek-quake clusters. See /info/new on those clusters for the fix.

The FlexLM licence manager starts issuing warnings to users about three months before the licence expires, which is too early. You can set an environment variable to suppress the warnings, which is documented in the FAQ.

This compiler comes with a very good installer. I only keep one version installed because unlike Intel and Portland the only updates we get tend to be bugfix updates. You can find out the minor version of the compiler with f95 -V. All of the install packages are in /usr/local/packages on the NFS server, in case we need to back off.

To have the compiler automatically pass appropriate -rpath options to gcc based on LIBRARY_PATH you need to edit the driver script to look something like this:

/usr/local/shared/nag/f95/5.1-218/lib/NAGWare/f95 -Qpath \
/usr/local/shared/nag/f95/5.1-218/lib/NAGWare \
${LIBRARY_PATH:+-Wl,-Wl,,-rpath -Wl,-Wl,,$LIBRARY_PATH} "$@"

Ancient history, but Debian 3.0 workstations need the "Redhat 7.2" version of the compiler, SuSE 9.2 workstations need the "Redhat 9" version.