top bar

Difference between revisions of "Linux installation from source (Ubuntu)"

(Appendix: add Andor SDK (optional) dependency)
(Create the startup script: better script that automatically start the MM plugin)
Line 110: Line 110:
cd /usr/local/ImageJ
java -Xmx1439m -Xincgc -XX:PermSize=128m \
export LD_LIBRARY_PATH=/usr/local/lib/micro-manager:/usr/local/ImageJ
    -Dpython.cachedir.skip=true -Dplugins.dir=/usr/local/ImageJ \
java -mx1200m \
+ -Djava.class.path=/usr/local/ImageJ/ij.jar \
     -Djava.library.path=/usr/local/lib/micro-manager:/usr/local/ImageJ \
    -Dimagej.dir=/usr/local/ImageJ -Dij.dir=/usr/local/ImageJ \
    -Dplugins.dir=/usr/local/ImageJ \
     -Dij.executable=/usr/local/ImageJ/ImageJ \
     -cp /usr/local/ImageJ/ij.jar:/usr/lib/jvm/java-7-oracle/lib/tools.jar \
    -Djava.library.path=/usr/share/java:/usr/local/lib/micro-manager \
       ij.ImageJ -eval 'run("Micro-Manager Studio");'

Revision as of 05:46, 19 November 2013


Install JDK

If you are building the Micro-Manager Java GUI, Java 1.6 or 1.7 is recommended[1]. The simplest way is to use webupd8team PPA:


sudo add-apt-repository ppa:webupd8team/java
sudo apt-get install oracle-java7-installer

Alternatively, you can download and run jdk-7*-linux-*.bin per the JDK Ubuntu instructions. Download the latest jdk-7*-linux-*.bin from the archives (you must click "Accept License Agreement").

It may be worth trying to use #OpenJDK instead of Sun JDK

Install ImageJ

Ensure you don't have the Ubuntu package installed:


sudo apt-get purge imagej

Download the Linux version of ImageJ from the NIH website. From a terminal, unzip to /usr/local/ and test that it runs:


cd ~/Downloads/
sudo unzip ij*-linux*.zip -d /usr/local/
sudo rm -rf /usr/local/ImageJ/jre # we don't need the Java runtime
sudo chmod a+Xr /usr/local/ImageJ

Install Build Programs and Libraries

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


sudo apt-get install subversion build-essential automake libtool \
                     libboost-all-dev zlib1g-dev swig

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 subversion 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
svn co micro-manager1.4
svn co

This creates 2 new folders in the mm directory:


Add the Beanshell and SwingX to the ImageJ plugins directory:


cd ~/mm/3rdpartypublic/classext
sudo cp bsh-2.0b4.jar swingx-0.9.5.jar /usr/local/ImageJ/plugins/

Building Micro-Manager

Create the Autotools files

configure uses the bundled version of ImageJ:


cd ~/mm/micro-manager1.4
./configure --with-imagej=/usr/local/ImageJ \






sudo make install
sudo ldconfig

Post Install

Create the startup script

Micro-Manager requires the path to /usr/lib/micro-manager. Create the 4 line Bash script below in /usr/local/ImageJ and save it as, say, mmscript.

File: mmscript

java -Xmx1439m -Xincgc -XX:PermSize=128m \
     -Dpython.cachedir.skip=true -Dplugins.dir=/usr/local/ImageJ \ -Djava.class.path=/usr/local/ImageJ/ij.jar \
     -Dimagej.dir=/usr/local/ImageJ -Dij.dir=/usr/local/ImageJ \
     -Dij.executable=/usr/local/ImageJ/ImageJ \
     -Djava.library.path=/usr/share/java:/usr/local/lib/micro-manager \
      ij.ImageJ -eval 'run("Micro-Manager Studio");'

Make the script executable:


sudo chmod +x mmscript

Running Micro-Manager

Start ImageJ with your new script:


./mmscript &

Run Plugins > Micro-Manager > Micro-Manager Studio



You need the following packages:
Name Equivalent Synaptic package name
Required Dependencies:
Subversion subversion
GNU C++ build-essential
GNU Autotools automake
GNU Libtool libtool
Boost libraries libboost-all-dev
zlib compression library zlib1g-dev
Simplified Wrapper and Interface Library swig
Sun Java SDK N/A - manually fetch from Oracle website
Optional Dependencies:
Firewire Camera Library libdc1394-*-dev
Open Source Computer Vision Library libopencv-dev
Andor SDK 2/3 N/A - request from Andor website

OpenJDK instead of Sun JDK

It may be possible to also use the distro-friendly OpenJDK (default-jdk) without too much effort. To start, you would have to patch the Micro-Manager file to find jni.h[2] and possibly apply other fixes.

© Micro-Manager : Vale Lab, UCSF 2006-2011 | All Rights Reserved | Contact