200 likes | 223 Views
How to Install and Configure. J. Davison de St. Germain Chief Software Engineer SCI Institute 801-581-4078 December 2003. dav@sci.utah.edu. Installation Steps. Download software RPM (Linux) - Has everything Or... (for source install (Mac, SGI, Linux): Thirdparty
E N D
How to Install and Configure J. Davison de St. Germain Chief Software Engineer SCI Institute 801-581-4078 December 2003 dav@sci.utah.edu
Installation Steps • Download software • RPM (Linux) - Has everything Or... (for source install (Mac, SGI, Linux): • Thirdparty • We provide: Tcl/Tk, Xerces, MPEG, etc • We do not provide: Insight, PETSc, Matlab • SCIRun • Packages (BioPSE,Teem,Insight,etc) • Get example datasets For Source Install only: • Install Thirdparty • Configure/Compile SCIRun
Downloading SCIRun • software.sci.utah.edu • Register the 1st time • Click on “Enter” • Select SCIRun/BioPSE • Agree to License • Join Mailing List • (scirun-users@sci.utah.edu)
Common to SGI/Mac/Linux • Grab the example datasets: • SCIRunData.1.20.1.tar.gz (If you downloaded previous datasets, you can get updates instead of downloading everything. Eg: SCIRunData.1.20.0-to-1.20.1-update.tar.gz)
Linux • Grab the rpm’s! But make sure you get the right one (RH8, RH9, or Mandrake 9). • SCIRun-1.20.1-rh8.0.i386.rpm • SCIRun-1.20.1-rh9.0.i386.rpm • SCIRun-1.20.1-mdk9.0.i586.rpm • > rpm -i SCIRun-1.20.1-rh9.0.i386.rpm • Must be root to install • Comes with everything you need!
Mac/SGI/Linux (Source Distribution) • Grab SCIRun.1.20.1.tar.gz • This is the core SCIRun code • Grab BioPSE and Teem Packages • These build upon and add functionality to the SCIRun PSE • Grab Insight and/or MatlabInterface • More specific packages that add functionality
Thirdparty Software • If more than one user will need the Thirdparty, install it in a global place. • Eg: RPM installs Thirdparty to: /usr/local/SCIRun/Thirdparty • If it is just you, your home dir will do. • Installation: • Mac: ./install.sh install-dir 32 • Linux/SGI: python install install-dir 32|64 (32|64 == Number of bits for build)
Thirdparty Install (cont) • Lots of stuff will scroll by… you can just ignore it… at the very end it will tell you whether everything installed correctly: MPEG - SUCCESS TCL - SUCCESS TK - SUCCESS ITCL - SUCCESS BLT - SUCCESS TEEM - SUCCESS XERCES - SUCCESS ImageMagick - SUCCESS
Other S/W You Can Get SCIRun supports the following, but they are not in the Thirdparty: • Insight • www.itk.org • Petsc • ftp.mcs.anl.gov/pub/petsc/petsc.tar.gz Instructions for installing these packages: • software.sci.utah.edu/doc/Installation/ Guide/sec.opt_inst.html
Machine Recommendations • Something fairly modern… • Linux - 1.5 GHz, 512 MB, 2 GB Disk (Modern Nvidia/ATI) • Mac - 1.2 GHz, 512 MB, 2 GB Disk • SGI - MIPS R10000 (or better), 512 MB, 2 GB Disk
OS Recommendations • Mac • Panther 10.3 • gcc • Linux • Redhat 8, Redhat 9 • Mandrake 9 • gcc 3.1 • SGI • IRIX 6.5 • Compiler: 7.3.1.3m • Windows – Requesting Funding
Configure Is Your Friend • mkdir ./SCIRun/darwin32dbg • cd darwin32dbg • You can have multiple binary directories (eg: sgi64opt, linux32dbg, etc) all based on the same source tree. • ../src/configure --enable-package=“BioPSE Teem” --enable-debug --enable-32bit --with-thirdparty=/path/to/thirdparty CC=gcc CXX=g++
Common Reasons Configure Fails • Thirdparty moved • After compiling the Thirdparty software, you move it someplace else. • Missing libraries • Not installed or in unusual place. • Conflicting libraries • Have old libraries system libraries that conflict with upgraded libraries. • LD_LIBRARY_PATH • Have libraries listed in this environment variable that conflict with standard system libraries. • Different compilers used • Compiled Thirdparty with a different compiler than you compiled SCIRun with. Or some system libraries were compiled with a different compiler/OS.
Debugging Configure • Edit config.log and search for the problem. • It will give you a compile line, • And the program it tried to compile. • Try it by hand to see what is going on (see next slide).
Config.log • configure:9917: checking for required Tcl components...... • configure:9958: checking for tcl library and headers (not-optional) • configure:10027: g++ -o conftest -I/usr/sci/projects/SCIRun/Thirdparty/1.20/Darwin/gcc-3.1-32bit/include -I/usr/sci/projects/SCIRun/Thirdparty/1.20/Darwin/gcc-3.1-32bit/src/tcl/generic -g -fno-common -dynamic -fcoalesce-templates -Wno-long-double -L/usr/sci/projects/SCIRun/Thirdparty/1.20/Darwin/gcc-3.1-32bit/lib -L/usr/sci/projects/SCIRun/Thirdparty/1.20/Darwin/gcc-3.1-32bit/lib conftest.cc -ltcl >&5 • | #line 12276 "configure" • | /* confdefs.h. */ • | #define HAVE_STRINGS_H 1 • | #define HAVE_INTTYPES_H 1 • | #define HAVE_STDINT_H 1 • | /* end confdefs.h. */ • | • | #include <tcl.h> • | • | int • | main () • | { • | ; • | return 0; • | } • configure:12327: result: not found
Compiling SCIRun • Once configure is done… • gmake Can be run from anywhere in the object tree. Or... • gmake -j# Where # is the number of processors to use to compile. Helps to speed compilation up significantly… if you have multiple processors to spare. Or... • gmake lib/libPackages_BioPSE_Core_Datatypes.so Useful to compile only what you are currently working on.
Compiling (cont) • Files worth knowing about: • configVars.mk • Almost everything is defined in here: (Directory paths to thirdparty, top of src tree, top of obj tree, compiler options, etc.) • Makefile • Standard(ish) make file (uses configVars.mk) • Sub.mk files • We use a single make file for the whole tree. Each directory has a sub.mk file in it that will be pulled into the make. The sub.mk file specifies what to build in the given directory and any sub-directories that should be traversed by the make system.
Documentation • Use the docs. They cover all of this in more detail… • http://software.sci.utah.edu/doc • But more importantly… • Let us know if you find any problems with them.
Questions? • dav@sci.utah.edu • 801-581-4078 • (Hint: If you can display an xterm remotely on my computer, we can usually solve your problem quickly.)