How to Install and Configure Advanced BioPSE J. Davison de St. Germain Chief Software Engineer SCI Institute 801-581-4078 dav@sci.utah.edu December 2003 NCRR Installation Steps 1. Download software Advanced BioPSE • 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: 2. 3. Install Thirdparty Configure/Compile SCIRun NCRR Downloading SCIRun • software.sci.utah.edu Advanced BioPSE • Register the 1st time • Click on “Enter” • Select SCIRun/BioPSE • Agree to License • Join Mailing List (scirun-users@sci.utah.edu) NCRR Common to SGI/Mac/Linux Advanced BioPSE • 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.0to-1.20.1-update.tar.gz) NCRR Linux Advanced BioPSE • 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! NCRR Mac/SGI/Linux (Source Distribution) Advanced BioPSE • 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 NCRR Thirdparty Software Advanced BioPSE • 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) NCRR Thirdparty Install (cont) Advanced BioPSE • 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 NCRR Other S/W You Can Get Advanced BioPSE 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 NCRR Machine Recommendations Advanced BioPSE • 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 NCRR OS Recommendations • Mac Advanced BioPSE - 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 NCRR Configure Is Your Friend • mkdir ./SCIRun/darwin32dbg • cd darwin32dbg Advanced BioPSE - 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++ NCRR Common Reasons Configure Fails • Thirdparty moved Advanced BioPSE - 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. NCRR Debugging Configure Advanced BioPSE • 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). NCRR Config.log Advanced BioPSE • 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.132bit/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 NCRR Compiling SCIRun • Once configure is done… Advanced BioPSE 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. NCRR Compiling (cont) • Files worth knowing about: Advanced BioPSE - 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. NCRR Documentation Advanced BioPSE • 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. NCRR Questions? Advanced BioPSE • 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.) NCRR Advanced BioPSE NCRR