WebMO Home Page
   Features
   Pro Features
   Enterprise Features
   Compare Features
   System Requirements
   Screen Shots
   Working Demo
   Support & Tutorials
   Support Forum
   Testimonials
   Revision History
   Mailing List
   Educational Resources
   Workshops
   License Info
   Pricing
   Buy WebMO Pro/Ent
   Obtain Free License
   Download
WebMO - Computational chemistry on the WWW
Recent news

WebMO 15.0 is now available for free download!

WebMO 15.0 Pro and Enterprise have a variety of additional features and is available for purchase.

The WebMO app for iPad/iPhone is now available on the App Store.

October 25, 2014
Fortran Compiler Installation Instructions for OS X

The Mac OS X operating system is a variant of unix (called Darwin, which is a derivative of BSD unix). It is a versatile computing platform suitable both for computational chemistry calculations and for developing and compiling programs.

Although scientific programs use a variety of languages (basic, pascal, c, java, perl, python, ...), a substantial base of scientific code is written in fortran. Most (though not all) computational engines supported by WebMO are written in fortran. This resource concentrates on fortran compilers and the tools needed to support them.

While integrated development environments (IDE's) are useful in supporting program development, this resource concentrates on the command line interface (CLI) using the Terminal application that is supplied with OS X.

The procedures discussed on this page have been designed for Mac OS X 10.5.

SOFTWARE DEVELOPMENT UTILITIES AND c COMPILER

Command line program development often uses unix utilities (cvs, make, ranlib, ...) when developing and compiling a project. These utilities, together with the c compiler for OS X, are available as part of the Xcode Tools that come with OS X. However, they are not installed by default.

  1. Insert Mac OS X Installation DVD. Navigate to the Optional Installs: Xcode Tools folder.
  2. Double-click XcodeTools.mpkg. Follow the prompts, but at Installation Type, click the Customize button.
  3. Uncheck all the components and check only Unix Development Support. In particular, Developer Tools Essentials should be unchecked (saving you 2.5GB of disk space)!
  4. Provide your password for the installation will proceed.
  5. Notes:
    • The latest version of Xcode Tools can be obtained by registering for a free ADC membership and then downloading the latest version of Xcode from Apple (caution: it is > 1GB!).
    • Xcode can be uninstalled by running
            $ sudo /Developer/Library/uninstall-devtools
      as described in the Xcode Tools Uninstaller

g77 COMPILER

g77 is the gnu fortran77 compiler. It was last produced with gnu compiler collection (gcc) 3.4, and has since been supplanted with gfortran which supports fortran95. Because of the free-cost and high quality of the gnu copmpilers, a significant amount of software has been developed for and compiled with the g77 compiler.

A tar file of the final realease of g77 compiled for OS X exists at High Performance Computing for Mac OS X.

  1. Download g77-intel-bin.tar.gz (Intel Mac only) or g77-bin.tar.gz (PowerPC only)
  2. If your browser did not automatically unzip the file, then
          $ gunzip g77-bin-intel.tar.gz
  3. Install the distribution
          $ sudo tar -xvf g77-bin.tar -C /
    which puts everything in /usr/local
  4. Notes:
    • No uninstall script exists, so the install files need to be listed from the tar file and manually deleted. The following command automates the process of deleting all installed files and empty directories:
            $ tar -tf g77-bin.tar | sort -r | (cd /; xargs -p -n 1 rm -d)
      You may wish to replace the "-p" switch with "-t" so that you are not prompted to delete each file.
    • G77 documentation is available at GCC Online Documentation

gfortran COMPILER

gfortran is the new gnu fortran compiler, which attempts to follow the fortran95 standard. As such, it should be backward compatible with fortran77 and fortran90. It also promises to attempt following future fortran standards, such as fortran2003. gfortran replaces the gnu g77 compiler and is included with gnu compiler collection (gcc) 4.0 and higher.

Although Apple XCode Tools includes gcc 4.X, it is not a complete implementation and lacks gfortran. However, various implementations of gfortran have been compiled and are available at GCC Wiki GFortranBinaries, Tools - R (and Fortran) for Mac OS X, or High Performance Computing for Mac OS X. These implementations vary by version, platform supported, and integration with XCode Tools. Important: Install only one implementation of gfortran, as each version would overwrite portions of the others!

  • The "GCC Wiki" implementation described in the following procedure is typically the newest binary release of gfortran, but requires that you download a version appropriate for your architecture.

    1. Visit the GCC Wiki GFortranBinaries page and scroll to the MacOS section
    2. Downoad gfortran-macosx-x86.dmg (Intel) or gfortran-macosx-ppc.dmg (PowerPC)
    3. If your browser did not automatically mount the disk image, the double-click the dmg file to mount and open it
    4. Open the gfortran-macosx-{architecture}-{version} folder, double-click gfortran.pkg, and follow the prompts to install it
    5. Notes:
      • All gfortran files are installed in /usr/local/gfortran, and a single symbloic link /usr/local/bin/gfortran is created. Thus, to uninstall the package, run
              $ sudo rm -r /usr/local/gfortran /usr/local/bin/gfortran
      • GNU Fortran documentation is available at GCC Online Documentation

  • The "R Tools" implementation described in the following procedure is independent of XCode Tool version, offers support for "fat-binaries" which can run on multiple platforms, can build static or dynamic binaries, and has a convenient uninstall script.

    1. Downoad gfortran-4.2.3.dmg
    2. If your browser did not automatically mount the disk image, the double-click the dmg file to mount and open it
    3. Double-click gfortran.pkg and follow the prompts to install it
    4. Notes:
      • To uninstall the package, run
              $ sudo /usr/local/bin/gfortran-uninstall
      • To obtain gfortran documentation, run
              $ info gfortran

  • The "sourceforge" implementation described in the following procedure requires that you download a version appropriate for your architecture, does not produce "fat binaries", and does not come with an uninstall script (although a method is provided below)

    1. Downoad gfortran-leopard-intel-bin.tar.gz (Intel) or gfortran-leopard-ppc-bin.tar.gz (Power PC)
    2. If your browser did not automatically unzip the file, then
            $ gunzip gcc-leopard-intel-bin.tar.gz
    3. Install the distribution
            $ sudo tar -xvf gcc-leopard-intel-bin.tar -C /
      which puts everything in /usr/local
    4. Notes:
      • No uninstall script exists, but the following command will delete all installed files and empty directories:
              $ tar -tf gfortran-leopard-intel-bin.tar | sort -r | (cd /; xargs -p -n 1 rm -d)
        You may wish to replace the "-p" switch with "-t" so that you are not prompted to delete each file.
      • GNU Fortran documentation is available at GCC Online Documentation

  • Note that there is a G95 project, which is completely independent of the gnu gfortran project (despite the similarity with the gnu g77 compiler name). The G95 project is not associated with the gnu compiler collection!

f2c TRANSLATOR / f77 COMPILER f2c is a fortran77-to-c source code translator. Because f2c is written in c and its ouput is c, both of which can be compiled natively on unix operating systems, f2c offers a very transportable compiler solution for compiling fortran programs. f2c also offers a means of converting large fortran libraries, such as LAPACK, into c. f2c is still actively maintained and is available at http://www.netlib.org/f2c/.

f77 was the first complete fortran77 compiler and was written in c. The original f77 program is no longer available for current computer architectures. However, f2c is based on the original f77 program, and the f2c distribution contains a f77 wrapper script that combines the f2c translation and c compilation steps. The f77 script also supports many command line options commonly associated with fortran compilers. Since the f77 script calls f2c, which in turn is based upon the original f77 program, the f77 script within the f2c distribution represents the most current implementation of the original f77 program.

  1. Download the installation script install_f2c_osx.csh
    which is
    #! /bin/csh
    setenv INSTALL /usr/local
    curl "http://netlib.sandia.gov/cgi-bin/netlib/netlibfiles.tar?filename=netlib/f2c" -o "f2c.tar"
    tar -xvf f2c.tar
    gunzip -rf f2c/*
    cd f2c
    mkdir libf2c
    mv libf2c.zip libf2c
    cd libf2c
    unzip libf2c.zip
    cp makefile.u Makefile
    make
    cp f2c.h $INSTALL/include
    cp libf2c.a $INSTALL/lib
    cd ../src
    cp makefile.u Makefile
    make
    cp f2c $INSTALL/bin
    cd ..
    mkdir -p $INSTALL/share/man/man1
    cp f2c.1t $INSTALL/share/man/man1
    cp fc $INSTALL/bin/f77
    chmod +x $INSTALL/bin/f77
    cd ..
    rm -rf f2c
    echo "==================SUMMARY=================="
    echo $0 " has built and installed:"
    find $INSTALL -name '*f2c*' -mmin -5
    find $INSTALL -name '*f77*' -mmin -5
    
    
  2. Run installation script
      $ chmod +x install_f2c_osx.csh
      $ sudo ./install_f2c_osx.csh
    which will produce the following files:
      /usr/local/bin/f2c
      /usr/local/include/f2c.h
      /usr/local/lib/libf2c.a
      /usr/local/man/man1/f2c.1t
      /usr/local/bin/f77
  3. Translate, compile, link, and run a program
      $ f2c hello.f
      $ gcc -c hello.c
      $ gcc -o hello hello.o -lf2c -lm
      $ ./hello
    Or combine the first three steps into a single command
      $ f77 -o hello hello.f
  4. Notes:
    • To uninstall f2c, manually delete the five files produced above

RESOURCES

Copyright © 2009, WebMO, LLC, all rights reserved.