LSDCAS Installation
Installation Checklist
The following software and (optionally) hardware components make up an LSDCAS installation:
- A working installation of a recent Linux distribution. It is recommended that the latest Ubuntu (desktop install) be used. This guide was written through reference to a fresh installation of Ubuntu Feisty Fawn 7.04 -desktop.
- A working build environment.
- Properly installed LSDCAS-dependent libraries.
- Hardware to support the hardware plugins.
- Properly configured web server, servlet, and relational database support (see LsdcasServerConfiguration).
Installation
If you have completed a fresh installation of Ubuntu Feisty (recommended), follow along with the Ubuntu Feisty installation instructions, then you'll have to make sure that the universe sources are uncommented in /etc/apt/sources.list in the next step.
Setup Build Environment
If you are not using Ubuntu Linux, you need, at a minimum, gcc/g++, scons, and subversion to build and install the software. Most of what follows is only pertinent to installations using Ubuntu Linux. For other Linux distributions, you are on your own.
Configure Software Repositories
To let the Ubuntu software update system provide all (or most) of the dependent software, a configuration change is necessary. Edit the file /etc/apt/sources.list; this file lists the software repositories that Ubuntu uses. To install the software needed for LSDCAS program compilation, you need to enable all 'deb' repositories in this file. You enable a repository by removing the '#' at the beginning of the line where they are listed in /etc/apt/sources.list.
By default, Ubuntu Edgy comes with no build environment. If you have correctly edited the /etc/apt/sources.list file, the following commands will set up a build environment for a plain Ubuntu desktop installation to build and install the LSDCAS software.
$ sudo apt-get update $ sudo apt-get install build-essential manpages-dev automake1.9 libtool scons subversion
If these commands fail, check for errors in /etc/apt/sources.list.
Get Dependent Libraries for LSDCAS Compilation
Extra libraries needed
- libxml2
- boost headers
- gtkmm2.4-dev
- libglade2.4-dev
- libgd2
- libdbd-pg-perl
- libraw1394-dev (for data acquisition only)
- libdc1394 library (for data acquisition only - must be built from the source code)
On fresh Ubuntu Feisty installs, you can use this command (note that apt-get will also install other dependent packages):
$ sudo apt-get install libxml2-dev libboost-filesystem-dev libgtkmm-2.4-dev libglademm-2.4-dev libpq-dev libgd2-noxpm-dev libdbd-pg-perl
Install the Firewire Libraries
NOTE: You only need to perform this step if you plan on acquiring movies using LSDCAS. If you only desire to view movies, you can skip to the next section Building LSDCAS Software.
If you plan on using an IEEE1394 Firewire Camera, you'll need to install the right versions of two additional libraries: libraw1394 and libdc1394:
$ sudo apt-get install libraw1394-dev
For libdc1394, you'll need to get a more recent version than is available in the Ubuntu repositories. At this time, we use version 2.0.0-rc7. Download the source tree using this link:
http://downloads.sourceforge.net/libdc1394/libdc1394-2.0.2.tar.gz
Then, unpack and build the source tree using the following commands
$ cd ~/ $ tar xzf libdc1394-2.0.0-rc7.tar.gz $ cd libdc1394-2.0.0-rc7 $ ./configure $ make
If make completes without any errors (it should), then install te package
$ sudo make install
Assuming all the preceding went off without a hitch, we should be good to go for building the LSDCAS software.
Building LSDCAS software
Build and install all LSDCAS software:
$ cd ~/ $ svn co http://svn.lsdcas.engineering.uiowa.edu/repos/lsdcas/trunk/cas2 $ cd cas2/ $ scons $ sudo scons install
Or, if you don't plan on acquiring movies, build only the software for viewing data:
$ cd ~/ $ svn co http://svn.lsdcas.engineering.uiowa.edu/repos/lsdcas/trunk/cas2 $ cd cas2/ $ scons ViewOnly=1 $ sudo scons ViewOnly=1 install
If you get errors while the software is building, try using:
$ scons -h
To get a list of all the possible build options. Most likely, a required library is installed somewhere other than expected. This is common for libraries you may have built locally. Using options is easy, for example:
$ scons PSQL_INC_DIR=/usr/local/pgsql/include PSQL_LIB_DIR=/usr/local/pgsql/lib install
Will look for the PostgreSQL headers where they would be if you had built Postgres locally (i.e., without using the apt-get mechanism).
Update Dynamic Linker Configuration
Chances are, if you got too excited and tried running one of the programs, you received an error about not being able to find the shared libraries. This is because ld (the dynamic linker) doesn't know to look in /usr/local/lib for shared library components by default. There are two easy fixes for this (either will work):
The first is to set the following environment variable in your ~/.bash_profile file.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
The second method results in making this configuration system wide. Edit the file /etc/ld.so.conf:
$ sudo vi /etc/ld.so.conf
This file may or may not be empty. The format is a single directory entry per line. Make sure there is an entry consisting of /usr/local/lib in the file. Otherwise, you must add it. My /etc/ld.so.conf looks like this:
$ cat /etc/ld.so.conf include /etc/ld.so.conf.d/*.conf /usr/X11R6/lib /usr/local/lib
Once you have edited /etc/ld.so.conf you can update the link path systemwide using the following command:
$ sudo ldconfig
== Customizing the Acquisition Modules To acquire movies, in addition to an IEEE1394-compliant firewire camera and supported stage hardware, you will need to configure the software to work with your hardware. (more to come) == Configuring Perl Support For Event Analysis For cell event analysis (e.g., the programs in utils/casEventAnalysis) some additional configuration is necessary. Please see the README file for building the casProcessMatches Perl module.
Configuring an LSDCAS Server Installation
The LSDCAS software uses a PostgreSQL database for storing important experiment metadata. To ensure proper security, PostgreSQL must be configured properly. See LsdcasServerConfiguration for details on database and web application configuration.
Mailing Lists
Sign up on the LSDCAS mailing lists to get answers to your questions or to contribute to the LSDCAS project:
User's List For user issues, information, installation help, feature requests.
Developer's List For developer access to further improve and extend LSDCAS.
Contact
You can email me at michael-mackey@uiowa.edu
