installation instructions for MPB on Ubuntu 16.04

Ardavan Oskooi <[email protected]> Wed, 26 Jul 2017 14:52:22 -0700
Newsgroups gmane.comp.science.photonic-bands
Message-ID <[email protected]>
--===============3852496447354608416==
Content-Type: text/html; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit

<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>
    </p>
    <div class="moz-text-html" lang="x-unicode">
      <p>Dear MPB users:</p>
      <p>Below are the installation instructions for the latest version
        of MPB on Ubuntu 16.04. This includes the serial and parallel
        version with OpenMPI. The parallel version requires that OpenMPI
        and HDF5 libraries be built from source. SWIG does <a
          href="https://github.com/swig/swig/issues/312">not support the
          latest version of Guile</a> which requires that an older
        version (2.0.11) be used instead. The source files are placed in
        an "install" folder in the user's home directory. All binaries
        are installed in the standard system directories. The entire
        installation takes less than an hour on an Intel Xeon 2.90 GHz
        machine, mainly due to the suite of tests in "make check".<br>
      </p>
      <p>These instructions are also available as a <a
          moz-do-not-send="true"
          href="http://ab-initio.mit.edu/%7Eoskooi/meep_discuss/build_mpb.sh">bash
          script</a>.<br>
      </p>
      <p>Cordially,</p>
      <p>Ardavan Oskooi</p>
      <p>--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
      </p>
      <p>&gt; sudo apt-get update<br>
        &gt; sudo apt-get -y dist-upgrade<br>
        &gt; sudo apt-get -y install libblas-dev liblapack-dev
        libgmp-dev libunistring-dev libmatheval-dev swig libgsl-dev
        libatomic-ops-dev libgc-dev libffi-dev libltdl-dev autoconf
        pkg-config libpng16-dev git<br>
        <br>
        &gt; export
        LD_LIBRARY_PATH="/usr/local/lib:/usr/local/lib/openmpi"<br>
        &gt; export LDFLAGS="-L/usr/local/lib -L/usr/local/lib/openmpi"<br>
        &gt; export CPPFLAGS="-I/usr/local/include
        -I/usr/local/include/openmpi"<br>
        &gt; export GUILE_WARN_DEPRECATED="no"<br>
      </p>
      <p>&gt; mkdir install</p>
      <p>&gt; cd ~/install<br>
        &gt; git clone <a class="moz-txt-link-freetext"
          href="https://github.com/stevengj/harminv.git">https://github.com/stevengj/harminv.git</a><br>
        &gt; cd harminv/<br>
        &gt; sh autogen.sh --with-pic<br>
        &gt; make &amp;&amp; sudo make install</p>
      <p>&gt; cd ~/install<br>
        &gt; wget <a class="moz-txt-link-freetext"
          href="ftp://ftp.gnu.org/gnu/guile/guile-2.0.11.tar.gz">ftp://ftp.gnu.org/gnu/guile/guile-2.0.11.tar.gz</a><br>
        &gt; tar xvzf guile-2.0.11.tar.gz<br>
        &gt; cd guile-2.0.11/<br>
        &gt; ./configure --with-pic<br>
        &gt; make &amp;&amp; make check &amp;&amp; sudo make install<br>
        <br>
        &gt; cd ~/install<br>
        &gt; git clone <a class="moz-txt-link-freetext"
          href="https://github.com/stevengj/libctl.git">https://github.com/stevengj/libctl.git</a><br>
        &gt; cd libctl/<br>
        &gt; sh autogen.sh --with-pic<br>
        &gt; make &amp;&amp; sudo make install<br>
        <br>
        &gt; cd ~/install<br>
        &gt; wget
        <a class="moz-txt-link-freetext"
href="https://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-1.8.8.tar.gz">https://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-1.8.8.tar.gz</a><br>
        &gt; tar xvzf openmpi-1.8.8.tar.gz<br>
        &gt; cd openmpi-1.8.8/<br>
        &gt; ./configure --with-pic<br>
        &gt; make &amp;&amp; make check &amp;&amp; sudo make install<br>
        <br>
        &gt; cd ~/install<br>
        &gt; wget
        <a class="moz-txt-link-freetext"
href="https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-1.8.14/src/hdf5-1.8.14.tar.gz">https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-1.8.14/src/hdf5-1.8.14.tar.gz</a><br>
        &gt; tar xvzf hdf5-1.8.14.tar.gz<br>
        &gt; cd hdf5-1.8.14/<br>
        &gt; ./configure --with-pic --prefix=/usr/local CC=mpicc
        --enable-parallel<br>
        &gt; make &amp;&amp; make check &amp;&amp; sudo make install</p>
      <p>&gt; cd ~/install<br>
        &gt; git clone <a class="moz-txt-link-freetext"
          href="https://github.com/stevengj/h5utils.git">https://github.com/stevengj/h5utils.git</a><br>
        &gt; cd h5utils/<br>
        &gt; sh autogen.sh CC=mpicc LIBS=-ldl<br>
        &gt; make &amp;&amp; sudo make install<br>
        <br>
        &gt; cd ~/install<br>
        &gt; wget <a class="moz-txt-link-freetext"
          href="http://www.fftw.org/fftw-3.3.4.tar.gz">http://www.fftw.org/fftw-3.3.4.tar.gz</a><br>
        &gt; ./configure --with-pic --enable-mpi<br>
        &gt; make &amp;&amp; make check &amp;&amp; sudo make install<br>
        <br>
        &gt; cd ~/install<br>
        &gt; git clone <a class="moz-txt-link-freetext"
          href="https://github.com/stevengj/mpb.git">https://github.com/stevengj/mpb.git</a><br>
        &gt; cd mpb/<br>
        &gt; sh autogen.sh --with-pic CC=mpicc LIBS=-ldl<br>
        &gt; make &amp;&amp; make check &amp;&amp; sudo make install<br>
        &gt; make distclean<br>
        &gt; sh autogen.sh --with-pic CC=mpicc LIBS=-ldl --with-mpi<br>
        &gt; make &amp;&amp; make check &amp;&amp; sudo make install<br>
        &gt; make distclean<br>
        &gt; sh autogen.sh --with-pic CC=mpicc LIBS=-ldl
        --with-inv-symmetry<br>
        &gt; make &amp;&amp; make check &amp;&amp; sudo make install<br>
        &gt; make distclean<br>
        &gt; sh autogen.sh --with-pic CC=mpicc LIBS=-ldl
        --with-inv-symmetry --with-mpi<br>
        &gt; make &amp;&amp; make check &amp;&amp; sudo make install</p>
    </div>
  </body>
</html>


--===============3852496447354608416==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbXBiLWRpc2N1
c3MgbWFpbGluZyBsaXN0Cm1wYi1kaXNjdXNzQGFiLWluaXRpby5taXQuZWR1Cmh0dHA6Ly9hYi1p
bml0aW8ubWl0LmVkdS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vbXBiLWRpc2N1c3M=

--===============3852496447354608416==--