top bar

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

m (Fix heading format)
(Readd ImageJ installation notes)
Line 1: Line 1:
 
== Preparation ==
 
== Preparation ==
  
=== Required Programs and Libraries ===
+
=== Install ImageJ ===
  
{{Note|Heavy editing in progress: ImageJ install notes to be readded}}
+
[http://rsb.info.nih.gov/ij/download.html Download the Linux version of ImageJ] from the NIH website and follow the installation instructions there.  Test that ImageJ runs from a terminal:
Install ImageJ
+
 
 +
{{MessageBox|1=Commandline|2=<pre>
 +
 
 +
cd /usr/local/ImageJ/
 +
./run
 +
</pre>}}
 +
 
 +
=== Other Required Programs and Libraries ===
  
 
You will need a subversion client to checkout the source code, several libraries, and build tools.  Install them with:
 
You will need a subversion client to checkout the source code, several libraries, and build tools.  Install them with:
Line 15: Line 22:
 
</pre>}}
 
</pre>}}
  
You may also need to install additional libraries (for cameras and special hardware).  See the full list in [[#Dependencies]]
+
You may also need to install additional packages (for cameras and special hardware).  See the full list in [[#Dependencies]]
  
 
=== Source Repositories ===
 
=== Source Repositories ===
Line 31: Line 38:
 
This creates 2 new folders in the <code>mm</code> directory:
 
This creates 2 new folders in the <code>mm</code> directory:
 
<pre>
 
<pre>
~/mm/micro-manager1.4
+
    ~/mm/micro-manager1.4
~/mm/3rdpartypublic
+
    ~/mm/3rdpartypublic
 
</pre>
 
</pre>
  
Line 40: Line 47:
  
 
cd ~/mm/3rdpartypublic/classext
 
cd ~/mm/3rdpartypublic/classext
sudo cp bsh-2.0b4.jar swingx-0.9.5.jar /usr/local/ImageJ/plugins
+
sudo cp bsh-2.0b4.jar swingx-0.9.5.jar /usr/local/ImageJ/plugins/
 
</pre>}}
 
</pre>}}
  
Create a new micro-manager directory in /usr/lib
+
Create a new micro-manager directory in /usr/lib/
  
 
{{MessageBox|1=Commandline|2=<pre>
 
{{MessageBox|1=Commandline|2=<pre>
Line 60: Line 67:
 
cd ~/mm/micro-manager1.4
 
cd ~/mm/micro-manager1.4
 
./mmUnixBuild.sh
 
./mmUnixBuild.sh
./configure --with-imagej=../3rdpartypublic/classext
+
./configure --with-imagej=/usr/local/ImageJ
 
</pre>}}
 
</pre>}}
  
Line 82: Line 89:
 
=== Create the startup script ===
 
=== Create the startup script ===
  
Starting ImageJ with the scripts provided in the ImageJ directory (run, script, see 1 above) will start ImageJ, but Micro-Manager, although now in the plugins directory, will not work properly because the path to /usr/lib/micro-manager is missing. Write your own script containing the 4 lines given below ("mmscript"), save and move it to /usr/local/ImageJ.
+
Micro-Manager requires the path to <code>/usr/lib/micro-manager</code>. Create the 4 line Bash script below in <code>/usr/local/ImageJ</code> and save it as, say, <code>mmscript</code>.
  
 
{{MessageBox|1=File: mmscript|2=<pre>
 
{{MessageBox|1=File: mmscript|2=<pre>

Revision as of 13:01, 23 August 2013

Preparation

Install ImageJ

Download the Linux version of ImageJ from the NIH website and follow the installation instructions there. Test that ImageJ runs from a terminal:

Commandline

cd /usr/local/ImageJ/
./run

Other Required Programs and Libraries

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

Note
Heavy editing in progress: some dependencies may be missing
Commandline

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

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

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:

Commandline

mkdir ~/mm
cd ~/mm
svn co https://valelab.ucsf.edu/svn/micromanager2/trunk/ micro-manager1.4
svn co https://valelab.ucsf.edu/svn/3rdpartypublic/

This creates 2 new folders in the mm directory:

    ~/mm/micro-manager1.4
    ~/mm/3rdpartypublic

Add the Beanshell and SwingX to the ImageJ plugins directory:

Commandline

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

Create a new micro-manager directory in /usr/lib/

Commandline

sudo mkdir /usr/lib/micro-manager

Building Micro-Manager

Create the Autotools files

configure uses the bundled version of ImageJ:

Commandline

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

Compile

Commandline

make

Install

Commandline

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

#!/bin/bash
cd /usr/local/ImageJ
export LD_LIBRARY_PATH=.:/usr/local/lib:/usr/lib/micro-manager:/usr/local/ImageJ
java -mx1200m \
     -Djava.library.path=/usr/lib/micro-manager:/usr/local/ImageJ \
     -Dplugins.dir=/usr/local/ImageJ \
     -cp /usr/local/ImageJ/ij.jar:usr/local/jdk1.5.0_04/lib/tools.jar \
      ij.ImageJ

Make the script executable:

Commandline

sudo chmod +x mmscript

Running Micro-Manager

Start ImageJ with your new script:

Commandline

./mmscript &

Run Plugins > Micro-Manager > Micro-Manager Studio

Appendix

Dependencies

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 sun-java6-sdk
Optional Dependencies:
Firewire Camera Library libdc1394-*-dev
Open Source Computer Vision Library (FIXME)
© Micro-Manager : Vale Lab, UCSF 2006-2011 | All Rights Reserved | Contact