IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changes between Initial Version and Version 1 of IppInstallation


Ignore:
Timestamp:
Nov 6, 2009, 11:57:31 AM (17 years ago)
Author:
dravg.uk.edinburgh
Comment:

Original version copied from the ROE's internal tWiki

Legend:

Unmodified
Added
Removed
Modified
  • IppInstallation

    v1 v1  
     1= Installation of IPP at the ROE =
     2
     3There instructions are particular to 32/64bit machines with the ROE's default Debian (Lenny 5.0.3) distribution, but there may be stuff applicable to other systems.
     4
     5Items in italics can be ignored. They are there for my own benefit.
     6
     7== Directory structure ==
     8
     9I'm a firm believer in the `$HOME/local` directory, which can be treated like the user's personal `/usr/local`.
     10
     11`$HOME/local` can be a symbolic link to a directory on a data drive, since you might hit your quota on `/home` if you install a large amount on software. For example, my `/home/ert/local` points to
     12`/garve/ert/local` .
     13
     14The following installation procedure will require < 80MB, however.
     15
     16In `$HOME/local`, the extra, non-IPP-specific perl modules will be installed in `$HOME/local` and the IPP-specific code will be installed in `$HOME/local/ipp` .
     17
     18== Installing ipp ==
     19
     201) Submit a helpdesk ticket to have the extra Debian packages installed. The list of packages to install can be found at `/home/ert/ipp/ExtraDebianPackages.lst` (also listed at the bottom of this page). Note that this list will generate further dependencies that the Debian package installer should resolve.
     21
     22Installation of the packages can be as easy as:
     23
     24    * {{{apt-get install `cat /home/ert/ipp/ExtraDebianPackages.lst`}}}
     25
     26Tell them to disable apache:
     27
     28    * `/etc/init.d/apache2 stop`
     29    * `rm /etc/rc?.d/*apache2`
     30
     312) Create the base directory structure if needed.
     32
     33    * `mkdir -p $HOME/local`
     34
     353) Find an appropriate directory in which to compile IPP. Up to 1 GB of space will be required. Change to that directory. I'll call it `$SRCDIR`.
     36
     374) Inform your environment of the location of the IPP configuration files
     38
     39    * Add to your `.tcshrc` / `.cshrc` / `.paths` file:
     40{{{
     41if (-e $HOME/local/ipp/psconfig.csh) then
     42alias psconfig "source $HOME/local/ipp/psconfig.csh"
     43psconfig default
     44else
     45echo "psconfig not available"
     46endif
     47# Check your perl version with: perl --version
     48set !PERLVER=5.10.0
     49# SYS is either linux (32bit) or lin64 (64bit)
     50set SYS=lin64
     51setenv !PERL5LIB $HOME/local/lib/perl5
     52setenv !PERL5LIB ${PERL5LIB}:$HOME/local/lib/perl/$PERLVER
     53setenv !PERL5LIB ${PERL5LIB}:$HOME/local/share/perl/$PERLVER
     54setenv !PERL5LIB ${PERL5LIB}:$HOME/local/ipp/lib/perl5
     55setenv !PERL5LIB ${PERL5LIB}:$HOME/local/ipp/lib/perl/$PERLVER
     56setenv !PERL5LIB ${PERL5LIB}:$HOME/local/ipp/lib/perl5/auto
     57setenv !PERL5LIB ${PERL5LIB}:$HOME/local/ipp/lib/perl/$PERLVER/auto
     58setenv !PERL5LIB ${PERL5LIB}:$HOME/local/ipp/share/perl/$PERLVER
     59setenv !PERL5LIB ${PERL5LIB}:$HOME/local/ipp/default.$SYS/lib
     60setenv !PERL5LIB ${PERL5LIB}:$HOME/local/ipp/default.$SYS/lib/perl5
     61}}}
     62
     635) Re-source your environment. Best to log out and log back in to your terminal window.
     64
     656) Get the extra perl packages (in the same directory as you were in step 4):
     66
     67    * `cd $SRCDIR`
     68    * `tar xzf /home/ert/ipp/extperl-ROE.tgz`
     69
     707) Build the extra perl packages:
     71
     72    * `cd $SRCDIR/extperl-ROE`
     73    * `./INSTALL-all.csh`
     74
     758) Choose your installation directory and add it to ipp's rc file:
     76
     77    * `echo set PSCONFDIR = $HOME/local/ipp > ~/.psconfigrc`
     78    * Note, the directory doesn't need to exist. A following step will do it.
     79
     809) Get the source code:
     81
     82    * `cd $SRCDIR`
     83    * `svn co !http://svn.pan-starrs.ifa.hawaii.edu/repo/ipp/trunk`
     84
     85''(got revision 25455/25940/25968)''
     86
     8710) Configure
     88
     89    * `cd $SRCDIR/trunk/psconfig` (or `ipp/psconfig`, depending on from where you got IPP)
     90    * `psbuild -bootstrap $HOME/local/ipp`
     91
     9211) Build any outstanding perl modules:
     93
     94    * `cd $SRCDIR/trunk/psconfig`
     95    * `./pscheckperl -build`
     96
     9712) (Optional) Verify the installation of the perl modules:
     98
     99    * `./pscheckperl`
     100
     10113) Add a `pkg-config` file for `cfitsio` library:
     102{{{
     103mkdir -p $HOME/local/ipp/default.lin64/lib/pkgconfig
     104cat << EOF >> $HOME/local/ipp/default.lin64/lib/pkgconfig/cfitsio.pc
     105prefix=/usr
     106exec_prefix=/usr
     107libdir=${exec_prefix}/lib
     108includedir=${prefix}/include
     109
     110Name: cfitsio
     111Description: FITS File Subroutine Library
     112Version: 3.006
     113Libs: -L${libdir} -lcfitsio -lm
     114Cflags: -I${includedir}
     115EOF
     116}}}
     117
     11814) Build IPP
     119
     120    * `./psbuild -dev -extbuild -optimize >& Build.log`
     121
     12215) Done! The last line of Build.log should be `= psbuild: finished =`
     123
     124== The Apache issue ==
     125
     126Apache is required, but security policy at the ROE forbids web servers on machines other than those specifically designated.
     127
     128So what requires Apache and why?
     129
     130Apache is required by the perl module, `Apache2-SOAP`, a package included in IPP's `extperl` directory.
     131
     132== Added Debian packages (Lenny 5.0.3) ==
     133For my own benefit
     134
     135    * synaptic
     136    * locate
     137
     138For IPP
     139
     140    * apache2-threaded-dev
     141    * autoconf
     142    * automake
     143    * libapache2-mod-perl2
     144    * libapache2-mod-perl2-dev
     145    * libarray-compare-perl
     146    * libattr1-dev
     147    * libcache-memcached-perl
     148    * libcache-perl
     149    * libclass-accessor-perl
     150    * libclass-factory-perl
     151    * libdata-validate-domain-perl
     152    * libdatetime-format-iso8601-perl
     153    * libdatetime-perl
     154    * libdbd-mysql-perl
     155    * libdigest-md5-file-perl
     156    * libdigest-sha1-perl
     157    * libfile-find-rule-perl
     158    * libfile-nfslock-perl
     159    * libfilesys-df-perl
     160    * libgsl0-dev
     161    * libheap-perl
     162    * libio-string-perl
     163    * libipc-run3-perl
     164    * libjpeg62-dev
     165    * liblog-log4perl-perl
     166    * libmysqlclient15-dev
     167    * libncurses5-dev
     168    * libnet-domain-tld-perl
     169    * libnet-server-perl
     170    * libnumber-compare-perl
     171    * libparams-validate-perl
     172    * libpng12-dev
     173    * libreadline5-dev
     174    * libsoap-lite-perl
     175    * libstatistics-descriptive-perl
     176    * libsub-uplevel-perl
     177    * libtemplate-perl
     178    * libtest-class-perl
     179    * libtest-cmd-perl
     180    * libtest-pod-coverage-perl
     181    * libtest-pod-perl
     182    * libtest-warn
     183    * libtext-glob-perl
     184    * libtimedate-perl
     185    * libtool
     186    * libtree-dagnode-perl
     187    * libxml-writer-perl
     188    * libyaml-perl
     189    * m4
     190    * pkg-config
     191
     192-- EricTittley - 2009-11-06