Edit page History How do I edit this website?

Linux installation from source MM2

For up-to-date instructions for building on Linux, please see the doc/how-to-build.md file in the source code repository. However, some of the device dependency information below may still be useful.

Installation notes to install micro-manager from source on Ubuntu systems. These instructions are expected to work without modifications for installations on Debian systems (tested on Debian Wheezy and Debian Jessy).

This page is a work in progress and may not be accurate

This page has been based off of experience building using Ubuntu 18.04

Preparation

Install JDK

If you are building the Micro-Manager Java GUI, Java 1.8 is recommended. The simplest way is to use OpenJDK:

sudo apt install openjdk-8-jdk

Install ImageJ

Download the Linux version of ImageJ from the NIH website. From a terminal, unzip to /usr/local/, and remove the embedded JRE, as we already have one installed.

cd ~/Downloads/
sudo unzip ij*-linux*.zip -d /usr/local/
sudo rm -rf /usr/local/ImageJ/jre
sudo chmod a+Xr /usr/local/ImageJ

Install Build Programs and Libraries

You will need Git and a subversion client to checkout the source code, several libraries, and build tools. Install them with:

sudo apt install git-all subversion build-essential autoconf automake libtool \
                     autoconf-archive pkg-config \
                     libboost-all-dev zlib1g-dev swig ant

As of 3/16/2021 Swig 4 will not work with Micro-Manager. Please make sure to install Swig 3. This issue will hopefully be resolved in the future

You may also need to install additional packages (for cameras and special hardware). See the full list in Dependencies

Fetch Source Repositories

Create a directory for the the repositories, such as ~/mm. Besides the source tree, additional binary dependencies are stored in the 3rdpartypublic repository. The build scripts in the source tree assume 3rdpartypublic is in the same parent folder level:

mkdir ~/mm
cd ~/mm
git clone https://github.com/micro-manager/micro-manager.git
git submodule update --init --recursive
svn co https://valelab4.ucsf.edu/svn/3rdpartypublic/

This creates 2 new folders in the mm directory:

    ~/mm/micro-manager
    ~/mm/3rdpartypublic

Subversion (svn) will likely complain saying that it cannot verify the https certificate. Typing **t** to temporarily trust the certificate allows to retrieve the repository.

Also, when retrieving large repository (like the 3rdpartypublic/ repository), svn can hung in the middle of the process, with an error message:

svn: REPORT de '/svn/3rdpartypublic/!svn/vcc/default':
Could not read chunk delimiter: Secure connection truncated (https://valelab4.ucsf.edu)

This can be solved by typing:

svn cleanup 3rdpartypublic/
svn update 3rdpartypublic/ # This command might be executed several times

Building Micro-Manager

Create the Autotools files

cd ~/mm/micro-manager
./autogen.sh
./configure --enable-imagej-plugin=/usr/local/ImageJ

Download build dependencies

make fetchdeps

Compile

make

Install

sudo make install

Post Install

Editing the startup script

A script named mmimagej will have been installed in /usr/local/ImageJ. You might want to edit its contents to pass extra flags to Java. You may also want to put this script in your PATH.

Running Micro-Manager

Start Micro-Manager by typing:

/usr/local/ImageJ/mmimagej 2>&1 >/dev/null &

To view the Core logging in the terminal while Micro-Manager is running, start simply as:

/usr/local/ImageJ/mmimagej

Appendix

Dependencies

Name Equivalent Synaptic package name
Required Dependencies:  
Subversion subversion
GNU C++ build-essential
GNU Autotools autoconf, automake
GNU Libtool libtool
Boost libraries libboost-all-dev
zlib compression library zlib1g-dev
Simplified Wrapper and Interface Library swig
OpenJDK openjdk-8-jdk
Optional Dependencies:  
Python python-dev, python-numpy-dev
Firewire Camera Library libdc1394-*-dev
Open Source Computer Vision Library libopencv-dev
GPhoto2 libgphoto2-2-dev
FreeImagePlus (used by GPhoto device adapter) libfreeimage-dev
libusb 0.1 libusb-dev
Andor SDK 2/3 N/A - request from Andor website

You need the following packages: