Programming‎ > ‎MPS Bundle‎ > ‎

MPS Bundle installation in Linux


In this page I cover installation in Linux and related platforms, such as BSD, AIX, and other software. This is supposed to be the best maintained platform, because this is the one that my research group routinely uses for production code, let it be in high-performance computers (huge multicore processors are readily available for rather little money) or in cluster environments. That said, every week we are surprised by a new problem, so feel free to contact us if the the instructions fail.

The following is a step-by-step routine to download and build the library. The commands that you need to introduce in the terminal are prefixed with a dollar ($), the typical symbol that is shown in a terminal. The output from that command is shown in gray.
  1. Ensure that the following components are installed in your computer
    • A c++ compiler
    • GNU make
    • GNU autoconf, automake and libtool
    • git
  2. Clone the mps-bundle repository running the following line in a terminal
    $ git clone https://github.com/juanjosegarciaripoll/mps-bundle.git
    The outcome should be that you have a new directory called mps-bundle with the following content
    $ ls mps-bundle/
    lib  Makefile  msvc  project  README  scripts
  3. Now you can download the actual content of the library
    $ cd mps-bundle
    $ make update
  4. The process takes some time, but new content of the library should be
    $ ls .
    f2c  lib  Makefile  mps  msvc  project  README  scripts  tensor
  5. Now you can build the library. We are going to do it step by step, to ensure that each step succeeds. We start with the f2c component
    $ make build-f2c
    $ ls lib/
    libf2c.a  libf2c.la
  6. Next we build the tensor library
    $ make build-tensor
    $ ls lib/
    libf2c.a  libf2c.la
  7. Finally we build the mps library
    $ make build-mps
    $ ls lib/
    libf2c.a  libf2c.la  libmps.a  libmps.la  libtensor.a  libtensor.la
So far so good. The library is built. In order to build your code you can have a look at the Makefile in the directory project, which is designed to build some example exp_0.exe from a source file exp_0.cc. Note how the file invokes the script tensor-config, which in turns takes care of invoking the compiler with the appropriate options that it found at build time

If at some later time you need to update the library, simply use make update followed by make build. The outcome should be a rebuild of the components that need to change. If this fails for some reason, try make clean and following again steps 3 to 7 above.