Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:install_pspm_and_toolbox [2016/12/16 10:16] (current)
Line 1: Line 1:
 +Last modified: Jan 16, 2014 by Calvat\\
 +\\
 +
 +====== Install PSPM and toolbox ======
 +
 +\\
 +\\
 +
 +=====  File layout ​ =====
 +
 +  * $THRONG_DIR/​Packages/​ Directory containing the sources of the used packages and the necessary deployed SOURCE hierarchy in order to compile each of them (note: some packages use in source building)
 +  * $THRONG_DIR/​local/​ Directory containing the COMPILED packages (as sub-directories) i.e. the main path entry for PATH configuration.
 +  * $THRONG_DIR/​data_spm/​ Directory containing studies (i.e. set of medical images) for PSPM testing. Some of the actual sets come from SPM Data
 +
 +=====  Installing MPICH  =====
 +
 +
 +====  Installing MPICH1 ​ ====
 +
 +Notes: Pspm recommandation (as gotten from pspm-1.0.1/​README).\\
 +You'll need an MPI implementation. e.g. http:​%%//​%%www-unix.mcs.anl.gov/​mpi/​mpich/​. The current (as of 2005-02-27) stable release (as gotten from mpich site) is version 1.2.6. CC-IN2P3 Linux parallel farm is the current placeholder of mpich, which was installed by the farm admins. The following notes are provided for other plateforms or as historical information. Step by step installation of mpich version 1.2.6:\\
 +Docs on install can be found http:​%%//​%%www-unix.mcs.anl.gov/​mpi/​mpich/​docs/​install/​paper.htm
 +<​code>​
 +> cd $THRONG_DIR ​
 +> mkdir Packages ​
 +> cd Packages ​
 +> wget http://​www-unix.mcs.anl.gov/​mpi/​mpich/​downloads/​mpich.tar.gz ​
 +> mv mpich.tar.gz mpich-1.2.6.tar.gz ​
 +> tar zxvf mpich-1.2.6.tar.gz ​
 +> cd mpich-1.2.6 ​
 +> more README ​
 +> unsetenv RSHCOMMAND (in order to be sure to avoid ssh login mode) 
 +> ./configure --prefix=$THRONG_DIR/​local/​mpich-1.2.6 --with-device=ch_shmem ​
 +> make >& make.log & 
 +> make install ​
 +> cp bin/mpiCC $THRONG_DIR/​local/​mpich-1.2.6/​bin ​
 +</​code>​
 +Note: this last brutal command is because for some mysterious reason mpiCC (i.e.e the C++ "​compiler"​) is not installed by the default "make install"​ command !\\
 +Edit $THRONG_DIR/​local/​mpich-1.2.6/​bin/​mpiCC and change any reference to the source tree to the installation tree.\\
 +CAVEAT EMPTOR: this is because by default mpiCC (which happens to be a shell script) makes references to the source tree [ i.e. oddly enough mpiCC doesn'​t positionate the correct include path and compilation misses mpi.h, mpidef.h or mpi++.h ...]\\
 +\\
 +Final note: $THRONG_DIR/​local/​mpich-1.2.6/​sbin/​mpiuninstall may be used to remove the installation. ​
 +====  Installing MPICH2 ​ ====
 +
 +Note : It was installed in the THRONG DIRECTORY, but should be installed bay an administrator in the system directory.
 +<​code>​
 +cd $THRONG_DIR/​Packages/​
 +</​code>​
 +<​code>​
 +wget http://​www-unix.mcs.anl.gov/​mpi/​mpich2/​downloads/​mpich2-1.0.2p1.tar.gz
 +</​code>​
 +<​code>​
 +tar xfz mpich2-1.0.2p1.tar.gz
 +</​code>​
 +<​code>​
 +cd mpich2-1.0.2p1
 +</​code>​
 +<​code>​
 +more README
 +</​code>​
 +<​code>​
 +mkdir $THRONG_DIR/​local/​mpich2-1.0.2p1
 +</​code>​
 +<​code>​
 +./configure -prefix=$THRONG_DIR/​local/​mpich2-1.0.2p1 |& tee configure.log
 +
 +And check in  configure.log that there was no error.
 +</​code>​
 +<​code>​
 +make |& tee make.log
 +
 +And check in  make.log that there was no error.
 +</​code>​
 +<​code>​
 +make install |& tee install.log
 +
 +And check in  install.log that there was no error.
 +</​code>​
 +<​code>​
 +Add /​afs/​in2p3.fr/​home/​throng/​isc/​local/​mpich2-1.0.2p1/​bin in the PATH
 +</​code>​
 +<​code>​
 +Check that you are using mpich2
 +
 +which mpd
 +which mpiexec
 +which mpirun
 +</​code>​
 +=====  SPM2  =====
 +
 +
 +====  Installing ​ ====
 +
 +SPM2 is basically a bunch of Matlab sources and installation is hence straightforward (it doesn'​t depend on compilers).
 +
 +Obtain the sources by feeding the registration form at :\\
 +http:​%%//​%%www.fil.ion.ucl.ac.uk/​spm/​software/​download.html
 +Download the sources (the URL depends on what you fed to the registration form. Hence the following URL is NOT valid for you and is just provided as an example
 +Installing code source :
 +<​code>​
 +> cd $THRONG_DIR/​Packages ​
 +> wget ftp://​ftp.fil.ion.ucl.ac.uk/​spm/​restricted/​specious/​spm2.tar.gz ​
 +> cd $THRONG_DIR/​local ​
 +> tar zxvf $THRONG_DIR/​Packages/​spm2.tar.gz ​
 +> make
 +</​code>​
 +  *Inform MATLAB by adding the following lines to $THRONG_DIR/​group_cshrc
 +<​code>​
 +if ( $?​MATLABPATH ) then 
 +setenv MATLABPATH $THRONG_DIR/​local/​spm2:​${MATLABPATH} ​
 +else 
 +setenv MATLABPATH $THRONG_DIR/​local/​spm2 ​
 +endif 
 +</​code>​
 +
 +At this stage within MatLab you should be able to invoke the spm command, and obtain the SPM2 interface. ​
 +====  Download data set and tutorial ​ ====
 +
 +You can donwload data set to test the installation of spm2 at :\\
 +http://​www.fil.ion.ucl.ac.uk/​spm/​data/​\\
 +\\
 +Untar and read the README file for training
 +=====  Installing PSPM  =====
 +
 +
 +====  Requirements ​ ====
 +
 + ​MATLAB version 6.5 (PSPM strong recommendation)
 + MPI mpich version (PSPM recommendation)
 + SPM2 and go for the "​Availability"​ section.[Parallelized SPM2: uses MPI to parallelize coregistration and reslicing]. Sources hosted by Sourceforge.
 + gcc. Note: we used version 3.2.3-42.
 +
 +
 +====  Installing PSPM1.0.1 ​ ====
 +
 +First stage: compilation
 +<​code>​
 +> cd $THRONG_DIR/​Packages ​
 +> wget http://​ovh.dl.sourceforge.net/​sourceforge/​parallelspm/​pspm-1.0.1.tar.gz ​
 +> tar zxvf pspm-1.0.1.tar.gz ​
 +> cd pspm-1.0.1 ​
 +> more README ​
 +> more INSTALL ​
 +</​code>​
 +Note: basically the configuration is done by properly positioning the PATH shell variable to point to
 +  * g++ (the "​underlying"​ real C++ compiler)
 +  * mex (the Matlab "​compiler"​ i.e. the shell scripted C++ fontend)
 +  * mpiCC (the mpich "​compiler"​ i.e. the shell scripted C++ fontend)
 +  * 
 +
 +set your PATH shell variable e.g. at CC-IN2P3
 +<​code>​
 +> setenv PATH /​usr/​local/​matlab6p5/​bin:/​usr/​local/​products/​mpi/​mpich-1.2.6/​bin:/​usr/​local/​bin:/​usr/​local/​shared/​bin:/​bin:/​sbin:/​usr/​bin:/​usr/​sbin ​
 +</​code>​
 +**Note:** we recommend making sure the "​pointed"​ "​compilers"​ are the proper ones by using the which command and (when paranoid) by also checking the version of the compiler with the -v option (when available). At CC-IN2P3 this goes\\
 +g++ -v yields version 3.2.3 which mex yields /​usr/​local/​matlab6p5/​bin/​mex (and mex -v yields more complete info on default C++ flags).\\
 +which mpiCC yields /​usr/​local/​products/​mpi/​mpich-1.2.6/​bin/​mpiCC and mpiCC -v yields mpiCC for 1.2.6 (release)\\
 +\\
 +**Note:** we used version 1.6.3 for both automake and aclocal\\
 +Comment out (with a #) the last line of the configure.ac file i.e. you should have: #​AC_OUTPUT([Makefile src/​Makefile ])
 +<​code>​
 +>​./​configure --exec-prefix=$THRONG_DIR/​local/​pspm-1.0.1/​LINUX --with-matlab=6.5 ​
 +> make 
 +Note: ignore mex warning messages of the form -output ignored (no MEX-file is being created) ​
 +> make install ​
 +should create a $THRONG_DIR/​local/​pspm-1.0.1/​LINUX/​bin sub-directory. ​
 +> cp -r PSPM_MATLAB_FILES $THRONG_DIR/​local/​pspm-1.0.1/ ​
 +in order to install the so called "​MatLab bits"​. ​
 +Second stage: configuration Edit $THRONG_DIR/​local/​pspm-1.0.1/​PSPM_MATLAB_FILES/​PSPM_defaults.m and 
 +remove/​comment-out the solaris related line. 
 +adapt the LINUX related line to your installation ​
 +E.g. at CC-IN2P3, we replaced ​
 +struct('​type',​ '​solaris',​ '​procs',​ 3, '​binpath',​ '/​athena/​raid1/​koola/​pspm-1.0/​solaris/​bin'​) ​
 +struct('​type',​ '​LINUX',​ '​procs',​ 4, '​binpath',​ '/​athena/​raid1/​koola/​pspm-1.0/​LINUX/​bin'​) ​
 +with 
 +struct('​type',​ '​LINUX',​ '​procs',​ 1, '​binpath',​ '/​afs/​in2p3.fr/​throng/​isc/​local/​pspm-1.0.1/​LINUX/​bin'​) ​
 +Inform MATLAB by adding the following lines to $THRONG_DIR/​group_cshrc ​
 +if ( $?​MATLABPATH ) then 
 +setenv MATLABPATH $THRONG_DIR/​local/​pspm-1.0.1/​PSPM_MATLAB_FILES:​${MATLABPATH} ​
 +else 
 +setenv MATLABPATH $THRONG_DIR/​local/​pspm-1.0.1/​PSPM_MATLAB_FILES ​
 +endif
 +</​code>​
 +At this stage within MatLab you should be able to invoke the PSPM command, and obtain the PSPM interface. ​
 +====  Installing PSPM2.0.2 ​ ====
 +
 +
 +===  PSPM2 with matlab 6.5  ===
 +
 +<​code>​
 +> wget http://​switch.dl.sourceforge.net/​sourceforge/​parallelspm/​PSPM2-2.0.2-beta.tar.gz
 +> cd $THRONG_DIR/​Packages
 +> tar vxfz PSPM2-2.0.2-beta.tar.gz
 +> cd PSPM2-2.0.2-beta
 +> more README
 +> more INSTALL
 +</​code>​
 +After you have to modify the script fille for mex compilator :
 +<​code>​
 +> vi $THRONG_DIR/​Packages/​PSPM2-2.0.2-beta/​src/​engopts.sh ​
 +</​code>​
 +verify that you have the following code
 +<​code>​
 +#
 +# engopts.sh ​   Shell script for configuring engine standalone applications.
 +#               These options were tested with the specified compiler.
 +#
 +# usage: ​       Do not call this file directly; it is sourced by the
 +#               ​mbuild shell script. ​ Modify only if you don't like the
 +#               ​defaults after running mbuild. ​ No spaces are allowed
 +#               ​around the '​='​ in the variable assignment.
 +#
 +# SELECTION_TAGs occur in template option files and are used by MATLAB
 +# tools, such as mex and mbuild, to determine the purpose of the contents
 +# of an option file. These tags are only interpreted when preceded by '#'​
 +# and followed by ':'​.
 +#
 +#​SELECTION_TAG_SA_OPT:​ Template Options file for building standalone engine applications
 +#
 +# Copyright 1984-2000 The MathWorks, Inc.
 +# $Revision: 1.1.1.1 $  $Date: 2003/12/05 04:07:15 $
 +#​----------------------------------------------------------------------------
 +#
 +    MATLAB=/​usr/​local/​matlab6p5
 +    Arch=glnx86
 +
 +    if [ "​$TMW_ROOT"​ = ""​ ]; then
 +        TMW_ROOT="​$MATLAB"​
 +    fi
 +    MFLAGS="​-I$TMW_ROOT/​extern/​include"​
 +    MLIBS="​-L$TMW_ROOT/​extern/​lib/​$Arch -leng -lmx"
 +    LDEXTENSION=''​
 +    case "​$Arch"​ in
 +        Undetermined)
 +#​----------------------------------------------------------------------------
 +# Change this line if you need to specify the location of the MATLAB
 +# root directory. ​ The mex script needs to know where to find utility
 +# routines so that it can determine the architecture;​ therefore, this
 +# assignment needs to be done while the architecture is still
 +# undetermined.
 +#​----------------------------------------------------------------------------
 +            MATLAB="​$MATLAB"​
 +            ;;
 +        alpha)
 +#​----------------------------------------------------------------------------
 +#           cc -V | grep UNIX
 +#           DEC C V5.9-008 on Digital UNIX V4.0 (Rev. 1229)
 +#           ​Digital UNIX Compiler Driver 3.11
 +            CC='​cc'​
 +            CFLAGS="​$MFLAGS -ieee -std1"
 +            CLIBS="​$MLIBS -lm"
 +            COPTIMFLAGS='​-O -DNDEBUG'​
 +            CDEBUGFLAGS='​-g'​
 +#
 +#           f77 -what
 +#           ​Compaq Fortran 77 Driver V5.3-11
 +#           ​Compaq Fortran 77 V5.3-189-449BB
 +            FC='​f77'​
 +            FFLAGS="​$MFLAGS -fpe3"
 +            FLIBS="​$MLIBS -lm"
 +            FOPTIMFLAGS='​-O'​
 +            FDEBUGFLAGS='​-g'​
 +#
 +            LD="​$COMPILER"​
 +            LDFLAGS=''​
 +            LDOPTIMFLAGS='​-O'​
 +            LDDEBUGFLAGS='​-g'​
 +#
 +            POSTLINK_CMDS=':'​
 +#​----------------------------------------------------------------------------
 +            ;;
 +        hpux)
 +#​----------------------------------------------------------------------------
 +#           what `which cc`
 +#           ​HP92453-01 B.11.11.02 HP C Compiler
 +#            $   ​Sep ​ 8 2000 23:13:51 $
 +            CC='​cc'​
 +            CFLAGS="​$MFLAGS +DA2.0 -Wp,-H65535 -Ae"
 +            CLIBS="​$MLIBS -lm"
 +            COPTIMFLAGS='​-O -DNDEBUG'​
 +            CDEBUGFLAGS='​-g'​
 +#
 +#           what `which f90`
 +#          HP-UX f90 20001114 (140952) ​ B3907DB/​B3909DB B.11.01.27
 +#           HP F90 v2.4.10
 +#            $ PATCH/​11.00:​PHCO_95167 ​ Oct  1 1998 13:46:32 $
 +            FC='​f90'​
 +            FFLAGS="​$MFLAGS +DA2.0"​
 +            FLIBS="​$MLIBS -lm"
 +            FOPTIMFLAGS='​-O +Oconservative'​
 +            FDEBUGFLAGS='​-g'​
 +            LD="​$COMPILER"​
 +            LDFLAGS=''​
 +            LDOPTIMFLAGS='​-O'​
 +            LDDEBUGFLAGS='​-g'​
 +#
 +            POSTLINK_CMDS=':'​
 +#​----------------------------------------------------------------------------
 +            ;;
 +        hp700)
 +#​----------------------------------------------------------------------------
 +#           what `which cc`
 +#           ​HP92453-01 A.10.32.30 HP C Compiler
 +            CC='​cc'​
 +#           ​Remove +DAportable from CFLAGS if you wish to optimize
 +#           for target machine
 +            CFLAGS="​$MFLAGS -Ae +DAportable -Wp,​-H65535"​
 +            CLIBS="​$MLIBS -lm"
 +            COPTIMFLAGS='​-O -DNDEBUG'​
 +            CDEBUGFLAGS='​-g'​
 +#
 +#           what `which f90`
 +#            HP-UX f90 20010618 (003353) ​ B3907DB/​B3909DB PHSS_23952 also  B.10.20.40
 +#            HP F90 v2.5.1
 +            FC='​f90'​
 +            FFLAGS="​$MFLAGS +DAportable"​
 +            FLIBS="​$MLIBS -lm"
 +            FOPTIMFLAGS='​-O'​
 +            FDEBUGFLAGS='​-g'​
 +#
 +            LD="​$COMPILER"​
 +            LDFLAGS=''​
 +            LDOPTIMFLAGS='​-O'​
 +            LDDEBUGFLAGS='​-g'​
 +#
 +            POSTLINK_CMDS=':'​
 +#​----------------------------------------------------------------------------
 +            ;;
 +        ibm_rs)
 +#​----------------------------------------------------------------------------
 +#           lslpp -l | vacpp.cmp.core
 +#           ​5.0.0.0 ​ COMMITTED ​ IBM C and C++ Compilers
 +            CC='​cc'​
 +            CFLAGS="​$MFLAGS -D_ALL_SOURCE -qchars=signed -qlanglvl=ansi"​
 +            CLIBS="​$MLIBS -lm"
 +            COPTIMFLAGS='​-O -DNDEBUG'​
 +            CDEBUGFLAGS='​-g'​
 +#
 +#           lslpp -l xlfcmp
 +#           ​7.1.0.0 ​ COMMITTED ​ I XL Fortran Compiler
 +            FC='​f77'​
 +            FFLAGS="​$MFLAGS"​
 +            FLIBS="​$MLIBS -lm"
 +            FOPTIMFLAGS='​-O'​
 +            FDEBUGFLAGS='​-g'​
 +#
 +#
 +            LD="​$COMPILER"​
 +            LDFLAGS=''​
 +            LDOPTIMFLAGS='​-O'​
 +            LDDEBUGFLAGS='​-g'​
 +#
 +            POSTLINK_CMDS=':'​
 +#​----------------------------------------------------------------------------
 +            ;;
 +        glnx86)
 +#​----------------------------------------------------------------------------
 +            RPATH="​-Wl,​--rpath-link,​$TMW_ROOT/​extern/​lib/​$Arch,​--rpath-link,​$TMW_ROOT/​bin/​$Arch"​
 +                         ​RPATH="​$RPATH,​--rpath-link,​$MATLAB/​sys/​os/​glnx86"​
 +            RPATH="​$RPATH,​--rpath,​$TMW_ROOT/​extern/​lib/​$Arch,​--rpath,​$TMW_ROOT/​bin/​$Arch"​
 +                                RPATH="​$RPATH,​--rpath,​$MATLAB/​sys/​os/​glnx86"​
 +
 +#           gcc -v
 +#           gcc version 2.95.2 19991024 (release)
 +            CC='​mpicc'​
 +            CFLAGS="​$MFLAGS -ansi -D_GNU_SOURCE"​
 +            CLIBS="​$RPATH $MLIBS -lm"
 +            COPTIMFLAGS='​-O -DNDEBUG'​
 +            CDEBUGFLAGS='​-g'​
 +#    CXX flags:
 +                                CXX='​mpiCC'​
 +                                CXXFLAGS="​$MFLAGS -ansi -D_GNU_SOURCE"​
 +                                CXXDEBUGFLAGS='​-g'​
 +                                CXXOPTIMFLAGS='​-O -DNDEBUG'​
 +                                CXXLIBS="​$RPATH $MLIBS -lm"
 +#         ​arguments ​         =
 +
 +#
 +#           g77 -v -xf77-version ​
 +#           g77 version 2.95.2 19991024 (release) ​
 +#           (from FSF-g77 version 0.5.25 19991024 (release))
 +#           NOTE: g77 is not thread safe
 +            FC='​g77'​
 +            FFLAGS="​$MFLAGS"​
 +            FLIBS="​$RPATH $MLIBS -lm"
 +            FOPTIMFLAGS='​-O'​
 +            FDEBUGFLAGS='​-g'​
 +#
 +            LD="​$COMPILER"​
 +            LDFLAGS=''​
 +            LDOPTIMFLAGS='​-O'​
 +            LDDEBUGFLAGS='​-g'​
 +#
 +            POSTLINK_CMDS=':'​
 +#​----------------------------------------------------------------------------
 +            ;;
 +        sgi)
 +#​----------------------------------------------------------------------------
 +#           cc -version
 +#           ​MIPSpro Compilers: Version 7.3.1.2m
 +            CC='​cc'​
 +            CFLAGS="​$MFLAGS -n32 -signed -OPT:​IEEE_NaN_inf=ON -D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__ -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTEN
 +DED"
 +            CLIBS="​-dont_warn_unused $MLIBS -lm"
 +            COPTIMFLAGS='​-O -DNDEBUG'​
 +            CDEBUGFLAGS='​-g'​
 +#
 +#           f77 -version
 +#           ​MIPSpro Compilers: Version 7.3.1.2m
 +            FC='​f77'​
 +            FFLAGS="​$MFLAGS -n32 -OPT:​IEEE_NaN_inf=ON"​
 +            FLIBS="​-dont_warn_unused $MLIBS -lm"
 +            FOPTIMFLAGS='​-O'​
 +            FDEBUGFLAGS='​-g'​
 +#
 +            LD="​$COMPILER"​
 +            LDFLAGS='​-n32'​
 +            LDOPTIMFLAGS='​-O'​
 +            LDDEBUGFLAGS='​-g'​
 +#
 +            POSTLINK_CMDS=':'​
 +#​----------------------------------------------------------------------------
 +            ;;
 +        sol2)
 +            RPATH="​-Wl,​--rpath-link,​$TMW_ROOT/​extern/​lib/​$Arch,​--rpath-link,​$TMW_ROOT/​bin/​$Arch"​
 +                         ​RPATH="​$RPATH,​--rpath-link,​$MATLAB/​sys/​os/​glnx86"​
 +            RPATH="​$RPATH,​--rpath,​$TMW_ROOT/​extern/​lib/​$Arch,​--rpath,​$TMW_ROOT/​bin/​$Arch"​
 +                                RPATH="​$RPATH,​--rpath,​$MATLAB/​sys/​os/​glnx86"​
 +#​----------------------------------------------------------------------------
 +#           cc -V
 +#           ​WorkShop Compilers 5.0 98/12/15 C 5.0
 +            CC='​mpicc'​
 +            CFLAGS="​$MFLAGS -dalign ​ -D__EXTENSIONS__"​
 +            CLIBS="​$MLIBS -lm"
 +            COPTIMFLAGS='​ -DNDEBUG'​
 +            CDEBUGFLAGS='​-g'​
 +
 +#CXX
 +                                CXX='​mpiCC'​
 +                                CXXFLAGS="​$MFLAGS -ansi -D_GNU_SOURCE"​
 +                                CXXDEBUGFLAGS='​-g'​
 +                                CXXOPTIMFLAGS='​-O -DNDEBUG'​
 +                                CXXLIBS="​$RPATH $MLIBS -lm"
 +#
 +#           f77 -V
 +#           ​WorkShop Compilers 5.0 99/09/16 FORTRAN 77 5.0 patch 107596-03
 +            FC='​f77'​
 +            FFLAGS="​$MFLAGS -dalign"​
 +            FLIBS="​$MLIBS -lm"
 +            FOPTIMFLAGS='​-O'​
 +            FDEBUGFLAGS='​-g'​
 +#
 +            LD="​$COMPILER"​
 +            LDFLAGS=""​
 +            LDOPTIMFLAGS=''​
 +            LDDEBUGFLAGS='​-g'​
 +#
 +            POSTLINK_CMDS=':'​
 +#​----------------------------------------------------------------------------
 +            ;;
 +        mac)
 +#​----------------------------------------------------------------------------
 +            CC='​cc'​
 +            CFLAGS="​$MFLAGS -fno-common -traditional-cpp"​
 +            CLIBS="​$MLIBS"​
 +
 +            COPTIMFLAGS='​-O3 -DNDEBUG'​
 +            CDEBUGFLAGS='​-g'​
 +
 +#
 +            FC='​f77'​
 +            FFLAGS="​-f -N15 -N11 -s -Q51 -W $MFLAGS"​
 +            ABSOFTLIBDIR=`which $FC | sed -n -e '​1s|bin/'​$FC'​|lib|p'​`
 +            FLIBS="​-L$ABSOFTLIBDIR -lfio -lf77math"​
 +            FLIBS="​$MLIBS -L$ABSOFTLIBDIR -lfio -lf77math"​
 +            FOPTIMFLAGS='​-O'​
 +            FDEBUGFLAGS='​-g'​
 +#
 +            LD="​$CC"​
 +            LDFLAGS='​-Wl,​-flat_namespace -undefined suppress'​
 +            LDOPTIMFLAGS='​-O'​
 +            LDDEBUGFLAGS='​-g'​
 +#
 +#​----------------------------------------------------------------------------
 +            ;;
 +    esac
 +#############################################################################​
 +#
 +# Architecture independent lines:
 +#
 +#     Set and uncomment any lines which will apply to all architectures.
 +#
 +#​----------------------------------------------------------------------------
 +#
 +#           ​FC="​$FC"​
 +#           ​FFLAGS="​$FFLAGS"​
 +#           ​FOPTIMFLAGS="​$FOPTIMFLAGS"​
 +#           ​FDEBUGFLAGS="​$FDEBUGFLAGS"​
 +#           ​FLIBS="​$FLIBS"​
 +#
 +                                CXX='​mpiCC'​
 +                                CXXFLAGS="​$MFLAGS -ansi -D_GNU_SOURCE"​
 +                                CXXDEBUGFLAGS='​-g'​
 +                                CXXOPTIMFLAGS='​-O -DNDEBUG'​
 +                                CXXLIBS="​$RPATH $MLIBS -lm"
 +
 +# for some stupid reason MATLAB Release 12 wont let 
 +# us set a C++ compiler. ​ Well anyhow we don't
 +# really care
 +                                CC='​mpiCC'​
 +                                CFLAGS="​$MFLAGS -ansi -D_GNU_SOURCE"​
 +                                CDEBUGFLAGS='​-g'​
 +                                COPTIMFLAGS='​-O -DNDEBUG'​
 +                                CLIBS="​$RPATH $MLIBS -lm"
 +#           ​LD="​$LD"​
 +
 +#           ​LDFLAGS="​$LDFLAGS"​
 +#           ​LDOPTIMFLAGS="​$LDOPTIMFLAGS"​
 +#           ​LDDEBUGFLAGS="​$LDDEBUGFLAGS"​
 +#           ​LDEXTENSION="​$LDEXTENSION"​
 +#​----------------------------------------------------------------------------
 +#############################################################################​
 +</​code>​
 +Continue installation by using install script
 +<​code>​
 +> chmod +x INSTALL
 +> configure --exec-prefix=$THRONG_DIR/​local/​pspm-2.0.2-beta/​LINUX --with-matlab=6.5
 +> make
 +> make install ​
 +</​code>​
 +<​code>​
 +> vi $THRONG_DIR/​Packages/​PSPM2-2.0.2-beta/​PSPM_MATLAB_FILES/​PSPM_defaults.m
 + 
 +struct('​type',​ '​LINUX',​ '​procs',​ 1, '​binpath',​ '/​afs/​in2p3.fr/​throng/​isc/​local/​pspm-2.0.2-beta/​LINUX/​bin'​)
 +</​code>​
 +<​code>​
 +> cp -r $THRONG_DIR/​Packages/​PSPM2-2.0.2-beta/​PSPM_MATLAB_FILES afs/​in2p3.fr/​throng/​isc/​local/​pspm-2.0.2-beta
 +</​code>​
 +
 +===  PSPM2 with matlab 7.1  ===
 +
 +<​code>​
 +> wget http://​switch.dl.sourceforge.net/​sourceforge/​parallelspm/​PSPM2-2.0.2-beta.tar.gz
 +> cd $THRONG_DIR/​Packages
 +> tar vxfz PSPM2-2.0.2-beta.tar.gz
 +> cd PSPM2-2.0.2-beta
 +> more README
 +> more INSTALL
 +</​code>​
 +After you have to modify the script fille for mex compilator :
 +<​code>​
 +> vi $THRONG_DIR/​Packages/​PSPM2-2.0.2-beta/​src/​engopts.sh ​
 +</​code>​
 +verify that you have the following code :\\
 +http:​%%//​%%graal.ens-lyon.fr/​~eboix/​PSPM/​Files/​toModify_engopts.txt\\
 +\\
 +A copy of this file is in $THRONG_DIR/​Packages\\
 +\\
 +What was modified ?
 +
 +Ligne 22 et 23 (added)
 +<​code>​
 +MATLAB="/​usr/​local/​matlab14SP3"​
 +Arch="​glnx86
 +</​code>​
 +  *Ligne 29 (Modified)
 +<​code>​
 +MLIBS="​-L$TMW_ROOT/​extern/​lib/​$Arch -L$TMW_ROOT/​bin/​glnx86/​ -leng -lmx -lm -lgcc_s"​
 +</​code>​
 +Ligne ~37,38 and ~45,46 (added)
 +<​code>​
 +RPATH="​-Wl,​--rpath-link,​$TMW_ROOT/​extern/​lib/​$Arch,​--rpath-link,​$TMW_ROOT/​bin/​$Arch"​
 +RPATH="​$RPATH,​--rpath-link,​$MATLAB/​bin/​glnx86"​
 +</​code>​
 +
 +Continue installation by using install script
 +<​code>​
 +> chmod +x INSTALL
 +> configure --exec-prefix=$THRONG_DIR/​local/​pspm-2.0.2-beta/​LINUX
 +> make
 +> make install ​
 +</​code>​
 +<​code>​
 +> vi $THRONG_DIR/​Packages/​PSPM2-2.0.2-beta/​PSPM_MATLAB_FILES/​PSPM_defaults.m
 + 
 +struct('​type',​ '​LINUX',​ '​procs',​ 1, '​binpath',​ '/​afs/​in2p3.fr/​throng/​isc/​local/​pspm-2.0.2-beta/​LINUX/​bin'​)
 +</​code>​
 +<​code>​
 +> cp -r $THRONG_DIR/​Packages/​PSPM2-2.0.2-beta/​PSPM_MATLAB_FILES /​afs/​in2p3.fr/​throng/​isc/​local/​pspm-2.0.2-beta
 +</​code>​
 +Attention : Bug dans le slice timing !\\
 +Pour le corriger :
 +<​code>​
 +cp $THRONG_DIR/​Packages/​toModify_spm_batch_slice_timing_init.m $THRONG_DIR/​local/​pspm-2.0.2-beta/​PSPM_MATLAB_FILES/​
 +</​code>​
 +<​code>​
 +mv $THRONG_DIR/​local/​pspm-2.0.2-beta/​PSPM_MATLAB_FILES/​toModify_spm_batch_slice_timing_init.m $THRONG_DIR/​local/​pspm-2.0.2-beta/​PSPM_MATLAB_FILES/​spm_batch_slice_timing_init.m
 +</​code>​
 +=====  Installing toolbox ​ =====
 +
 +
 +====  Installing MarsBaR ​ ====
 +
 +All MarsBaR releases are available [[https://​sourceforge.net/​projects/​marsbar|MarsBaR project SourceForge page]] . For the current stable release, look for the marsbar package; marsbar-devel is the development release. Releases consist of an archive which will unpack in a directory named after the MarsBaR version - for example "​marsbar-0.23"​. You then have two options for using MarsBaR within SPM.\\
 +\\
 +You can add the new MarsBaR directory to your matlab path. To use MarsBaR, start it from the matlab prompt with the command "​marsbar",​ or...\\
 +You could set up MarsBaR to run as an SPM toolbox. To do this, the contents of the new MarsBaR directory needs to be in a subdirectory "​marsbar"​ of the SPM toolbox directory.\\
 +Here is a worked example for Unix. Imagine SPM99 was in "/​usr/​local/​spm/​spm99",​ and you had just unpacked the MarsBaR distribution,​ giving you a directory "/​home/​myhome/​marsbar-0.23"​. You could then create the marsbar SPM toolbox directory with:
 +<​code>​
 +> cd /tmp
 +> wget wget http://​switch.dl.sourceforge.net/​sourceforge/​marsbar/​marsbar-0.38.tar.gz
 +> tar xvfz marsbar-0.38.tar.gz
 +> cd $THRONG_DIR/​local/​spm2/​toolbox
 +> mv /​tmp/​marsbar-0.23 marsbar
 +</​code>​
 +
 +====  Installing VISTA software (mrVista) ​ ====
 +
 +This code involves the work of many people from these labs. Please remember most modules are not yet stable. Thanks to the heroic recoding efforts of David Heeger and David Ress, the mrVista code is now much better than earlier versions. However, the bulk of this codebase was developed as an undisciplined growth, so it may contain many little problems and is not always easy to follow. Although we use it every day and have great confidence in the core routines, we are also familiar with its limitations. We are constantly working on revisions and improvements and just plain bug fixes.\\
 +\\
 +As to the manual- well, there is no manual. However, in most packages there is a ReadMe file that describes some of the basic functionality of the software and brief installation notes.
 +<​code>​
 +> cd /scratch
 +> wget http://​white.stanford.edu/​software/​downloads/​mrVista_nightly.zip
 +> unzip mrVista_nightly.zip
 +> rm mrVista_nightly.zip
 +> mv mr* $THRONG_DIR/​local/​spm2/​toolbox
 +</​code>​
 +
 +====  Installing Conjunction Inference ​ ====
 +
 +Conjunction inference in SPM2 and SPM99 is based on the minimum statistic. The inference is based on the global null hypothesis that all effects conjoined are null. Thus a significant result only implies one or more of the effects are non-null.\\
 +\\
 +Download toolbox from http://​www.sph.umich.edu/​~nichols/​Conj/​
 +<​code>​
 +> cd $THRONG_DIR/​local
 +> wget http://​www.sph.umich.edu/​~nichols/​Conj/​spm2_conj.tgz
 +>  tar xvfz spm2_conj.tgz
 +> cp $THRONG_DIR/​local/​spm2_conj/​* $THRONG_DIR/​local/​spm2/​
 +>  rm spm2_conj.tgz
 +</​code>​
 +
  
  • en/install_pspm_and_toolbox.txt
  • Last modified: 2016/12/16 10:16
  • (external edit)