User Tools

Site Tools


tips:howto_macosx

How to install ABINIT on Mac OSX

<HTML><br></HTML> This manpage is available as ~abinit_src_dir/README.MacOSX



<HTML><hr></HTML>

Using Homebrew package manager

<HTML><br></HTML>

A Homebrew formula for ABINIT is available (authors: D. Davydov + M. Torrent).

Tested with mac OS X v10.9 (Mavericks), v10.10 (Yosemite), 10.11 (El Capitan).
Homebrew is available at brew.sh

Prerequesites

  • Homebrew installed (see this manual)
  • Notes:
    • Homebrew needs Xcode and Xcode command line tools to be installed;
      just type: xcode-select --install

Installing ABINIT

  • Just type:
    brew install homebrew/science/abinit
  • ABINIT should install smoothly… with its dependencies.

Comments

  • At the first installation, this can take time, because of the required compilation of some dependencies (netCDF, fftw …).
  • LibXC, ETSF_IO and netCDF fallbacks (plugins) are used by default.
    FoX, Wannier90 and BigDFT are not available in Homebrew.
    AtomPAW can be installed as a separate package (formula).
  • The following options are available for ABINIT formula:
    • --with-testsuite
      Run full test suite (time consuming)
    • --without-check
      Skip build-time tests (not recommended)
    • --without-etsf_io
      Build without etsf_io support
    • --without-netcdf
      Build without netcdf support
    • --without-fftw
      Build without fftw support
    • --without-gsl
      Build without gsl support
    • --without-scalapack
      Build without scalapack support



<HTML><hr></HTML>

Using MacPorts package manager

<HTML><br></HTML>

Available from ABINIT v7.4.3
Tested with mac OS X v10.8 (Mountain Lion), v10.9 (Mavericks), v10.10 (Yosemite).
MacPorts is available at macports.org.

Prerequesites

  • MacPorts installed (see this manual)
  • Some basic ports already installed:
    • gcc (last version) with Fortran variant (Fortran compiler),
    • mpich or openmpi (MPI)
  • Before starting, it is preferable to update MacPorts system:
    sudo port selfupdate
    sudo port upgrade outdated
  • Notes:
    • It is recommended to completely reinstall MacPorts after a MacOS upgrade.
    • MacPorts needs Xcode and Xcode command line tools to be installed;
      just type: xcode-select --install

1- Using official ABINIT port

  • There are available ports in the MacPorts system for some ABINIT versions.
    They have been originally created by ABINIT developers, but it they are not necessarily maintained for all ABINIT versions.
  • Try first to install official ABINIT port:
    sudo port install abinit
  • If the lastest ABINIT is successfully installed, it's OK for you.
    If not, follow the procedure 2- below.

2- Using ABINIT port from ftp.abinit.org

2.a- Preparing your MacPorts installation

  • You need to create a local repository designed to receive local ports.
    Let's name it LOCAL_REPOSITORY in the following. This might be:
    LOCAL_REPOSITORY=/Users/my_login/ports

    or

    LOCAL_REPOSITORY=/opt/local/localports

    Replace LOCAL_REPOSITORY by the correct string in the following…

  • Edit the file /opt/local/etc/macports/sources.conf (with administrator privileges) and add these two lines at the end:
    file://LOCAL_REPOSITORY
    rsync://rsync.macports.org/release/ports [default]
  • Create the directory: LOCAL_REPOSITORY/science/abinit

2.b- Installing ABINIT

  • Download the “portfile” corresponding to your ABINIT version and copy it in the LOCAL_REPOSITORY/science/abinit directory.

    The portfile for ABINIT vX.Y.Z is available at:
    ftp://ftp.abinit.org/MacPorts.
  • Untar the file in the local repository:
    cd LOCAL_REPOSITORY/science/abinit
    tar -xvzf Portfile.tar.gz
  • Update your local repository index:
    cd LOCAL_REPOSITORY
    sudo portindex
  • Install ABINIT port:
    sudo port install abinit @X.Y.Z

ABINIT port variants

  • By default, ABINIT is installed with the following plugins/fallbacks:
    libXC, ETSF_IO, Wannier90
  • Linking ABINIT to FFTW3 library:
    sudo port install abinit @X.Y.Z +fftw3
  • Linking ABINIT to parallel Linear Algebra ScaLapack:
    sudo port install abinit @X.Y.Z +scalapack
  • Installing a multi-threaded (openMP) version of ABINIT:
    sudo port install abinit @X.Y.Z +threads
  • Installing atompaw PAW atomic dataset generator:
    sudo port install abinit @X.Y.Z +atompaw

    or

    sudo port install atompaw
  • It is possible to mix all previous variants:
    sudo port install abinit @X.Y.Z +fftw3+scalapack+threads+atompaw
  • Other options available by typing:
    port info abinit



<HTML><hr></HTML>

Compiling ABINIT by yourself under Mac OSX

<HTML><br></HTML>

Prerequesites

  • Mac OSX
  • Xcode installed with Xcode command line tools;
    just type: xcode-select --install
  • A Fortran compiler installed.
    Possible options:
    • gfortran binary from: HPC sourceForge
    • gfortran binary from: gnu.org
    • gfortran installed via a package manager (MacPorts, Homebrew, Fink)
    • Intel Fortran compiler
  • A MPI library installed (If you want to benefit from parallelism; recommended).
    Possible options:
    • mpich from website, or via a package manager
    • openmpi from website, or via a package manager
  • A Linear Algebra library installed.
    By default the 'accelerate' Framework is installed on MacOSX and ABINIT build system should find it.
    But you might want to install a parallel library: scalapack, atlas, mkl, …

Installing ABINIT

  • Create a working directory:
    cd abinit_src_dir
    mkdir build && cd build
  • Configure:
    • Sequential ABINIT:
      ../configure FC=gfortran CC=clang FCFLAGS_EXTRA="-ffree-line-length-none"
    • Parallel ABINIT (only with MPI installed):
      ../configure FC=mpif90 CC=mpicc FCFLAGS_EXTRA="-ffree-line-length-none" \
                   --enable-mpi  --enable-mpi-io
  • Compile:
    make mj4
  • Install (optional):
    make install

Comments

  • To benefit from the “fallbacks” (libXC, netCDF, …), consult the configure script help:
    ../configure --help

    The --with-dft-flavor and --with-trio-flavor have to be adjusted.





<HTML><hr></HTML> Author: M. Torrent, April 2015, rev. Feb. 2016

tips/howto_macosx.txt · Last modified: 2016/01/31 17:54 by Marc Torrent