Installation
Unpack the downloaded .tar.gz to an installation directory of your choice.
$ gunzip FluxCapacitor-vX.x-jY.y-b20090211.tar.gz
$ tar -xvf FluxCapacitor-vX.x-jY.y-b20090211.tar
Ensure that you have a Java Runtime Environment of the specified version Y.y or higher installed on your system.
$ java -version
Run the batch file specifying the appropriate arguments (see Getting Started)
$ FluxCapacitor-vX.x-jY.y/bin/flux
In case the FLUX CAPACITOR reports troubles in loading the lpsolve libraries (i.e., JNI libraries), follow the steps in the subsequent section to compile the program on your platform.
Compiling the native libraries
Here I give an overview, how to compile the C libraries necessary to run the FLUX CAPACITOR. To give you an idea of the program structure, the main program itself is written in Java and constitutes the flux.jar part of the downloaded package. Consequently, FLUX will start successfully on any computer with a Java Virtual Machine installed -- supporting the required compliance level, i.e., JDK1.5 for version 1.0b -- refer to the corresponding package description for details.
As mentioned earlier, FLUX CAPACITOR uses a set of linear constraints to formalize signal separation of overlapping transcripts as an optimization problem. The third party program lp_solve, an implementation of state-of-the-art linear program solving techniques, finds the optimal solution under these constraints. Hence it is necessary to have a compilation of the C-sources for lp_solve and the corresponding Java-native interface for running the capacitor.
Subsequently described steps are necessary only if your platform is not supporting one of the precompiled libraries in the FLUX CAPACITOR release bundle. For supported platforms, see the remarks of the corresponding bundle in Downloads.
Build the lp_solve library
Go to the lpsolve source folder in the FLUX CAPACITOR bundle
$ cd ./sources/lpsolve55/lp_solve_5.5/lpsolve55
To build the program under LINUX/UNIX, use
$ sh ccc
To build the program under MAC OS X 10.3.5, use
$ sh ccc.osx
To build the program under WINDOWS with the Visual C/C++ compiler, use
> cvc6.bat
This also works for VS.NET, but you may prefer to use the project file dll.sln.
To build the program under DOS/WINDOWS with the gcc compiler, use
> cgcc.bat
This creates the following new files in the lpsolve55 subdirectory:
Build the lp_solve JNI extension
$ cd ./sources/lpsolve55/lp_solve_5.5_java/lib/XXX
where XXX specifies your OS (e.g., "mac").
on LINUX/UNIX:
change the pathes for LPSOLVE_DIR and JDK_DIR and compile
$ sh build
This creates the JNI library liblpsolve55j.so.
on MAC OSX:
The script "build-osx" in the mac subdirectory is a DOS text file:
$ file build-osx
build-osx: ASCII English text, with CRLF line terminators
If you try execute this file, you will get "command not found" errors. To convert it into a Unix file, remove the carriage returns:
$ tr -d "\r" < build-osx > build-osx1
Edit build-osx1 to set LPSOLVE_DIR to the location of directory lp_solve_5.5 on your computer. Change the two occurrences of '5.1' to '5.5' and the two occurrences of '51' to '55' in the last line of build-osx1.
$ sh build-osx1
This creates the JNI library liblpsolve55j.jnilib.
on WINDOWS:
> build.bat
This creates the JNI library lpsolve55j.dll.
Install the libraries
If not already in directory lpsolve55, cd to it. Copy the two files obtained in the previous step to a location in the default library path.
on MAC OSX, LINUX/UNIX:
$ sudo cp liblpsolve55.* /usr/local/lib
(you may need to create /usr/local/lib first: sudo mkdir -p /usr/local/lib)
on WINDOWS:
copy lpsolve55*.dll C:\Windows\System
(there are multiple choices, every directory in the %PATH% variable should theoretically work)
Alternatively you can include the compiled lpsolve library in the search path of your operating system:
on LINUX/UNIX:
$ export LD_LIBRARY_PATH=/sources/lpsolve55/lp_solve_5.5/lpsolve55
on MAC OSX:
$ export DYLD_LIBRARY_PATH=/sources/lpsolve55/lp_solve_5.5/lpsolve55
on WINDOWS:
> set PATH=/sources/lpsolve55/lp_solve_5.5/lpsolve55;%PATH%
Run the FluxCapacitor
Depending on your system, it might be necessary to specify the location to where you copied the libraries using the -i or -lib parameter:
./bin/flux -lib <path to library directory > ...