SCIJump:Complete Install

From SCIJump

Table of contents

How to build SCIJump from source

This document describes the process of configuring and building the SCIJump research code, including the SCIJump framework, GUI, and various experimental component models.

Dependencies

Building on Debian

Make sure the following packages are installed:

  • tk[version]-dev
  • libglew-dev
  • libxmu-dev
  • libxi-dev
  • libxaw[version]-dev

Building on Mac OS X

XCode (http://developer.apple.com/tools/xcode) developer tools (at least version 1.5) and X11 SDK (should be included in XCode packages) needs to be installed. See the SCIRun documentation (http://software.sci.utah.edu/SCIRunDocs/index.php/CIBC:Documentation:SCIRun) for more detail.

SCIRun

SCIJump software is distributed with SCIRun. All required classes build automatically.

SCIRun Thirdparty

This package consists of bundled third-party libraries. It is freely available (registration required (http://software.sci.utah.edu/cgi-bin/registration.pl?soft=SCIRun)) here (http://software.sci.utah.edu/scirun.html).

Select the appropriate Thirdparty source download for your platform. Version 1.25.4 is recommended.

Estimated time to build: 1 hour

Before building SCIJump, set the following environment variables:

SCIRUN_THIRDPARTY=/path/to/scirun/thirdparty/installation
PATH=$SCIRUN_THIRDPARTY/bin:$PATH
LD_LIBRARY_PATH=$SCIRUN_THIRDPARTY/lib:$LD_LIBARARY_PATH

X

X libraries and development headers are required.

GLEW

If your version of Thirdparty is not 1.25, then the OpenGL Extension Wrangler Library (GLEW) (http://glew.sourceforge.net/) is required. If GLEW is not installed in system directories, configure with --with-glew=path-to-glew.

Mac OS X

Use GLEW version 1.3.4 and export GLEW_APPLE_GLX=1.

Flex

Flex is widely available in various binary formats for Linux. Alternatively, source downloads are available from the GNU (http://www.gnu.org) site. Flex should be available in OS X (http://www.apple.com/lae/macosx/technologies/darwin.html) distributions.

Bison

Bison is widely available in various binary formats for Linux. Alternatively, source downloads are available from the GNU (http://www.gnu.org/) site. Bison should be available in OS X (http://www.apple.com/lae/macosx/technologies/darwin.html) distributions.

Awk/Gawk

Gawk is widely available in various binary formats for Linux. Awk should be available in OS X (http://www.apple.com/lae/macosx/technologies/darwin.html) distributions.

PNG


ImageMagick


ncurses

Ncurses (http://www.gnu.org/software/ncurses/ncurses.html) libraries and development headers need to be available to compile the default SCIJump interface, which is a text-based builder component (TxtBuilder).

Zlib

The Zlib (http://www.zlib.net/) data compression library and development headers are required for SCIRun.====ncurses====

Component Model Dependencies

SCIJump code has dependencies on multiple third-party software packages. The table below lists the various code modules available with SCIJump and their dependencies. Be sure to carefully check the build instructions for each third-party dependency.

Component Model or Feature Dependencies Configure option
SCIJump framework SCIRun Thirdparty, X, Flex, Gawk, Bison, ncurses, Zlib --with-thirdparty=/path/to/thirdparty
SCIJump GUI Builder (recommended) wxWidgets --with-wxwidgets=/path/to/wxWidgets
Dataflow components SCIRun Thirdparty --with-thirdparty=/path/to/thirdparty
Parallel components (optional) MPI --with-mpi=/path/to/mpi
Bridge components (optional) Ruby, Babel --with-ruby=/path/to/ruby --with-babel=/path/to/babel
VTK components (optional) VTK --with-vtk=/path/to/vtk
Babel components (recommended) Babel --with-babel=/path/to/babel
TAO Corba components (optional) TAO ---with-tao=/path/to/ACE+TAO

wxWidgets

wxGTK

wxWidgets (http://www.wxwidgets.org) is necessary if you want to build the graphical user interface to the SCIJump framework (recommended). wxWidgets distributions organized by platform can be downloaded from this page. The most recent version of wxWidgets known to work with SCIJump is 2.6.3.

At least the following configure options need to be enabled:

 --enable-shared --enable-threads --with-opengl

(Note: list of widget classes that need to be enabled here!!!)

Before building SCIJump, set the following environment variables:

WXDIR=/path/to/wxWidgets/installation
PATH=$WXDIR/bin:$PATH
LD_LIBRARY_PATH=$WXDIR/lib:$LD_LIBRARY_PATH
wxMac

See the Mac OS X tutorial (http://www.wxwidgets.org/wiki/index.php/Mac_OS_X_And_Xcode_For_Beginners|) to build using Xcode (http://developer.apple.com/tools/xcode/|).

Babel

The Babel compiler can be freely obtained from here (http://www.llnl.gov/CASC/components/babel.html). SCIJump currently supports Babel versions up to 1.0.4.

Babel requires Java, at least libxml2 2.4.0 and Python to build the testing framework. Please read the Babel install instructions for details.

Estimated time to build: < 1 hour

Before building SCIJump, set the following environment variables:

JAVA_HOME=/path/to/java/install
BABEL_HOME=/path/to/babel/install
PATH=$JAVA_HOME/bin:$BABEL_HOME/bin:$PATH

MPI

The SCIJump software has been used most frequently with the LAM/MPI implementation. The LAM/MPI software can be freely downloaded from www.lam-mpi.org. SCIJump supports LAM/MPI version 7.0.6 and higher.

SCIJump has also been built with MPICH (http://www-unix.mcs.anl.gov/mpi/mpich) version 1.2.7.

Estimated time to build: 2-3 hours

Ruby

Ruby is an interpreter for the Ruby scripting language. Ruby can be freely downloaded from www.ruby-lang.org (http://www.ruby-lang.org/en/).

ERB

Older Ruby distributions may not include the ERB (http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html) package, which is required for SCIJump component model bridging. Download ERB from here (http://raa.ruby-lang.org/project/erb).

Estimated time to build: 1 hour

Before building SCIJump, set the following environment variables:

RUBYDIR=/path/to/ruby/installation
PATH=$RUBYDIR/bin:$PATH


VTK

The Visualization Toolkit can be freely downloaded from here (http://www.vtk.org).

SCIJump VTK components have been tested with VTK 4.2. VTK requires CMake. See the VTK build instructions for details.

Estimated time to build: 2-3 hours

TAO Corba

See the Center for Distributed Object Computing (http://deuce.doc.wustl.edu) site for project details. Download the ACE+TAO distribution here (http://deuce.doc.wustl.edu/Download.html).

Configuring SCIJump

To build the SCIJump framework, add the --enable-scijump option to the configure line. Dependencies for SCIJump components are configured by adding configure options.

The following command line, for example, configures SCIJump with the works.

PATH/TO/SCIRun/src/configure  --enable-scijump
                              --enable-debug
                              --with-thirdparty=$THIRDPARTY
                              --with-babel=$BABELDIR
                              --with-mpi=$MPIDIR
                              --with-ruby=$RUBYDIR
                              --with-vtk=$VTKDIR
                              --with-wxwidgets=$WXDIR

Making SCIJump

Use the GNU Makefile to compile the framework libraries and executable.

 make all