Installation of Required Software

Note

The requirements discussed here are those necessary for an installation of MiModD from source. This is the only supported installation type on Linux systems, but should not concern you if you are on OS X / macOS (when OS X specifics get discussed here, it is only to cover the rather exotic case that an OS X / macOS user may prefer to install MiModD from source instead of going through the standard installation for their platform).


C/C++ compiler package : a current version of gcc/g++ or Clang

gcc and g++ come pre-installed with many, but not all flavors of Linux (e.g., Fedora is a popular distribution that ships without).

Try:

gcc --version

and:

g++ --version

from the command line to see whether you have them available on your system.

If not, you should be able to install them through your OS package manager (in Fedora the necessary packages are called gcc and gcc-c++).

OS X / macOS ships without a compiler package, but such a package is part of Apple’s Xcode Developer Tools. You should be able to install these easily on all supported versions of OS X / macOS by following these instructions.


zlib library : v1.2.5 or higher

Most OS come with the zlib library installed. If you do not have it or if your system has an outdated version, you should try (in that order) to:

  • install a current version through your OS package manager or

  • download it from http://zlib.net/ (the download link for the latest version is about halfway down the page), then from inside the unpacked archive run this series of steps from a terminal:

    ./configure
    make
    make install
    

Developer header files

If you have zlib preinstalled or if you have installed it through a package manager, then, depending on your OS, the installation may not contain the developer header files. If you are getting a corresponding MiModD install error message, you will need to install a separate zlib development package (e.g., zlib1g-dev on Debian/Ubuntu or zlib-devel on RHEL/Fedora/CentOS).


readline library : v6 or higher

This library is required only to build rpy2 and, as such, only when you are going for the optional Installation of R and rpy2 to enjoy the plotting functionality of the MiModD NacreousMap engine.

Like for the zlib library, most OS come with the library preinstalled. However, this installation might not include its developer header files that are necessary for rpy2 to build successfully. If you are getting an error message about a missing readline.h file, you will need to install a separate readline development package (e.g., libreadline-dev on Debian/Ubuntu or readline-devel on RHEL/Fedora/CentOS).


Python 3 : v3.3 or higher

You can run:

python3 --version

from a terminal to see which version, if any, of Python 3 you have installed on your system. OS X users can always get the latest version of Python 3 from https://www.python.org/downloads/. If you are using Linux and your distribution does not come with python3 preinstalled, then chances are high that you can install a suitable version through your OS package manager.

Developer header files

Depending on your OS, your installation of Python 3 may not contain the Python developer header files. If you are getting a corresponding MiModD install error message, you will need to separately install a python3 development package (e.g., python3-dev on Debian/Ubuntu or python3-devel on RHEL/Fedora/CentOS).

From source installation of Python 3

In the very unlikely case that no suitable Python 3 version is offered by your Linux package manager, you will have to build and install Python3 from source. The general procedure for this is:

  • ensure your system has all requirements for building a fully functional Python 3 installed. Help on this topic can be found in the build dependencies section of the official Python Developer’s guide.

    Of the optional extension modules mentioned in that section, the following are critical for installing or running MiModD:

    • zlib

      This module is required for MiModD core functionality.

      To get it built it is enough to install the zlib library including its header files before you build Python 3.

    • _ssl

      This module is required for the pip installer and for the MiModD upgrade tool. Building it requires the OpenSSL library plus its developer header files installed on your system.

    • _sqlite3

      This module is required only if you plan to use the R/rpy2-dependent plotting functionality of the MiModD NacreousMap engine. It requires the SQLite3 library plus header files for building.

  • download the source code of the latest Python 3 release from https://www.python.org/downloads/source/ and unpack it.

  • open a terminal window, cd into the unpacked folder and run:

    ./configure
    
    # build from source
    # -s flag means print only build errors and warnings
    # -jN means use N cores for the build process
    make -s -j2
    
    # install as system-wide python3
    # caution: will overwrite existing installation
    sudo make install
    

pip : any recent version

The standard installation of MiModD uses the pip installation tool to install the package from its online repository into your system’s Python 3 library.

Recent versions of Python 3 often come with pip pre-installed, but if your Python does not have it, you can obtain it in one of the ways described in the pip User Guide.

Note

You can also install and use MiModD without pip being installed as explained in the Standard Installation instructions.