IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changes between Initial Version and Version 1 of IPPInstallStepByStep


Ignore:
Timestamp:
Feb 24, 2009, 4:23:55 PM (17 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IPPInstallStepByStep

    v1 v1  
     1[http://lofaako.strefa.pl/article1646.html ahead nerovision express dvd video editing authoring software] [http://caraines.qsh.eu/acelfokz.htm injury theisman video] [http://zelgetgo.0lx.net/new864.htm sin city official movie website] [http://fispruil.qsh.eu/news365.html mobile car audio and video] [http://zelfibu.strefa.pl/cacamexr-386.html arms blood brother earned in in video]
     2[http://releltl.0lx.net/20081109-moviecam-camera.html moviecam camera] [http://acsitzar.0lx.net/news-music-videos-clip-2008-11-15.html music videos clip] [http://zelfibu.strefa.pl/cnabrfe-1686.html eve arden movies] [http://tarobasal.strefa.pl/article1036.htm a man apart movie trailer] [http://tarobasal.strefa.pl/article1288.htm im not okay video]
     3orzelr
     4Installing PS1/IPP 2.2
     5----
     6
     7Download the main tarball and associated extras.  The accompanying C and Perl libraries/packages are now available as single tarballs.
     8
     9
     10 wget http://pan-starrs.ifa.hawaii.edu/project/IPP/software/bundles/ipp-2.2.tgz
     11 wget http://pan-starrs.ifa.hawaii.edu/project/IPP/software/bundles/extlibs.tgz
     12 wget http://pan-starrs.ifa.hawaii.edu/project/IPP/software/bundles/extperl.tgz
     13 wget http://pan-starrs.ifa.hawaii.edu/project/IPP/software/bundles/catdir.synth.simtest.tgz
     14
     15
     16You don't yet need the last file, which is an astrometric catalog, to compile, but you'll want it later for 'simtest'.
     17
     18Untar and read the instructions
     19
     20 tar xvzf ipp-2.2.tgz
     21 less ipp-2.2/psconfig/INSTALL
     22
     23
     24Set up your configuration:
     25
     26
     27 echo 'set PSCONFDIR = /Volumes/data/PS1/code' > ~/.psconfigrc
     28 echo 'setenv PS1BASE /Volumes/data/PS1/src/ipp-2.2' > ~/.cshrc.ps1
     29 echo 'alias "psconfig source $PS1BASE/psconfig/psconfig.csh"' >> ~/.cshrc.ps1
     30 echo 'psconfig ipp-2.2' >> ~/.cshrc.ps1
     31 echo 'source ~/.cshrc.ps1' >> ~/.cshrc
     32 source ~/.cshrc.ps1
     33 mkdir $PSCONFDIR
     34 mkdir $PSCONFDIR/ipp-2.2.darwin
     35
     36The IPP doesn't actually use 'PS1BASE' for anything; I've just included it here for ease of reference to the main IPP installation directory in these instructions.  The subdirectory name for the last command will depend on architecture and setup you're running under.
     37
     38
     39 psconfig
     40
     41will give you the prefix path (which is what you defined on the first line of the section above with PSCONFDIR), the configuration ('ipp-2.2' is what we specified with the 'psconfig' command), and the architecture ('darwin') separated by colons.  Merge the second two together with a period and add that on the prefix path and make sure that directory exists (as done on the last line of the multi-line section above).  E.g.,
     42
     43
     44 [wwoodvas@serenity code] psconfig | grep : | sed -e 's/ : /\//' | sed -e 's/ : /./'
     45 /Volumes/data/PS1/code/ipp-2.2.darwin
     46
     47
     48Now let's start compiling things.  No need to run 'pschecklibs', we're just going to install everything except for 'openssl' to make it easy for the pipeline to find later. Note that if you do run pschecklib on Mac OS X 10.4 the IPP 2.3 version will not find your shared libraries (".dylib"). A fix has been checked into cvs.
     49
     50
     51 cd $PS1BASE/..
     52 tar xvzf extlibs.tgz 
     53 tar xvzf extperl.tgz
     54
     55
     56I then found it useful to explicitly add the latest 'automake', 'autoconf', and 'libtool':
     57
     58cd $PS1BASE/../extlibs
     59wget http://ftp.gnu.org/gnu/libtool/libtool-1.5.8.tar.gz
     60wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.gz
     61wget http://ftp.gnu.org/gnu/automake/automake-1.10.tar.gz
     62
     63
     64Now for each of the tarballs in this directory, except for openssl
     65
     66
     67 cd $PS1BASE/../extlibs
     68 [wwoodvas@serenity extlibs] ls
     69 cfitsio2510.tar.gz              libpng-1.2.15.tar.gz
     70 doxygen-1.5.1.src.tar.gz        mysql-5.0.27.tar.gz
     71 fftw-3.0.1.tar.gz               openssl-0.9.8d.tar.gz
     72 gsl-1.6.tar.gz                  swig-1.3.24.tar.gz
     73 jpegsrc.v6b.tar.gz              xpa-2.1.6.tar.gz
     74
     75added in 2.3 is
     76
     77  zlib.1.2.3.tar.gz              ncurses-5.6.tar.gz
     78  pkg-config-0.22.tar.gz         readline-5.2.tar.gz
     79
     80untar, 'psconfigure', 'make', 'build', e.g.,
     81
     82
     83 tar xvzf cfitsio2510.tar.gz
     84 cd cfitsio
     85 psconfigure
     86 make
     87 make install
     88
     89 * I skipped installing 'openssl', since that's generally available everywhere and 'psconfigure' doesn't work for it (for trivial, probably easily fixed reasons; but we shouldn't have to).
     90
     91 * It's not necessary to install 'doxygen' either.  If you do want to compile 'doxygen' 'psconfigure' doesn't work, you have to explicitly run the './configure' command, e.g., '/configure --prefix /Volumes/data/PS1/code/ipp-2.1.darwin'.
     92
     93 * The jpeg library isn't smart enough to create the man pages if you do that one first, so you may have to create depending on the order in which you compile things above.
     94
     95 mkdir -p $PSCONFDIR/ipp-2.2.darwin/man/man1
     96
     97In addition you have to explicitly 'make install-lib' and 'make install-headers' for the jpeg library.  It's not clear to me why the developers of libjpeg didn't think you might want these when you said 'make install'.
     98
     99 * You have to explicitly tell fftw3 to enable floating-point stuff, so use 'psconfigure --enable-float' for this configuration command and then 'make; make install'.
     100
     101 * If you don't have 'pkg-config' installed, you have to install that.  If you have fink and are lazy, you can just 'fink install pkgconfig'.  There should be a package you can download and install as well.  Once I figure out those instructions I'll include them here.
     102
     103 * zlib does not work with psconfigure.
     104
     105Now on to the Perl modules.   From the 'ipp-2.2/psconfig' directory
     106
     107 ./pscheckperl -build
     108
     109will build all of the missing modules, assuming the tarballs have been placed in 'extperl' as they are if you followed the 'tar xvzf extperl.tgz' step above.  If that worked, then we can move on to compiling IPP 2.2:
     110
     111 ./psbuild ipp-2.2
     112
     113
     114You may get an error when configuring 'ippdb.src' like the following:
     115
     116
     117 ./configure: line 20030: syntax error near unexpected token `PSLIB,'
     118 ./configure: line 20030: `PKG_CHECK_MODULES(PSLIB, pslib >= 0.9.0)'
     119
     120
     121Comment out that line in the ippdb.src/configure file and then run 'psconfigure; make; make install' in that directory.  If that works then move on to the next modules with './psbuild ipp-2.2 -start  ippTools' back from the 'psconfig' directory.
     122
     123 * Notes for Mac OS X
     124I've found the following hacks were needed to get IPP 2.2 installed on a Mac OS X 10.4.10 PowerMac G5 and PowerBook G4 systems.  Note that there are some additional changes that need to be made to some of the routines to handle byte-order (endian) problems that are not yet detailed here.
     125
     126 * There are conflicts between GNU and BSD readline in the names of a couple of functions.  The easiest way to work around this is to install the GNU version in your local PanStarrs tree.  For simplicity of organization, I would do this from the 'src/extlibs' file where all of the other external C dependencies are.
     127
     128 * To get Ohana to compile, I suggest the following somewhat silly hack.  First, let 'psbuild' crash on building Ohana.  It will do this after having compiled 'libohana'.  Then modify 'Ohana/Makefile.Common' by replacing the '$(LIB)/%.$(ARCH).dylib:' section with the following
     129
     130
     131 $(LIB)/%.$(ARCH).dylib:
     132         @if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
     133         rm -f $@
     134         gcc -dynamiclib -single_module -o $@ $^ -lc -L/Volumes/data/PS1/code/default.darwin/lib/ -lohana -lFITS $(BASE_LDFLAGS)
     135         @echo "compiled shared library $*"
     136         @echo ""
     137
     138
     139Make sure to use TABs instead of spaces when putting the above into your 'Ohana/Makefile.Common' file.  Replace '/Volumes/data/PS1/code/default.darwin' with your installation directory.  Now run 'psbuild -start Ohana' and it should succeed.  The issue is just that for some reason it doesn't find the library without the explict direction of where it is.  It may be that the dylib file is only created in the install 'lib' directory and not in the source/compile local directory.  I'm not sure.
     140
     141It's also likely that there will be some warnings about redefined macros (MIN, MAX, and SWAP) in 'ohana.h' (Bug ID 892)
     142
     143The MIN, MAX, and SWAP macros in 'ohana.h' should be wrapped if 'ifndef's to
     144avoid conflicts with other headers that define these common macros.  In the installed and source copies of 'ohana.h', replace lines 39-41 with
     145
     146 /* Some useful macros: MIN, MAX, SWAP
     147    If they're already defined,
     148      we'll just assume they were defined the same way.  */
     149 # ifndef MIN
     150 # define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
     151 # endif /* MIN */
     152 # ifndef MAX
     153 # define MAX(X,Y) ((X) > (Y) ? (X) : (Y))
     154 # endif /* MAX */
     155 # ifndef SWAP
     156 # define SWAP(X,Y) {double tmp=(X); (X) = (Y); (Y) = tmp;}
     157 # endif /* SWAP */
     158
     159You also want to fix the 'dvo.h' header (Bug) to define two enums as explicitly extern (Bug ID 895):
     160
     161Changed lines 17 & 20 in 'Ohana/src/libdvo/include/dvo.h'
     162to put in an 'extern' in front of the two enum definitions and then 'make
     163clean' in Ohana.  If you forgot to do this and waited until it failed in 'psphot', then go ahead and make this change and 'make clean; psconfigure; make; make install' in Ohana and in 'psphot' and 'make clean; psconfigure; make; make install'.
     164
     165It's possible that when you run the build for Ohana, it may fail with a messages like
     166
     167 /usr/bin/ld: table of contents for archive: /Users/Shared/PS1/code/ipp-2.2/default.darwin/lib/libdata.a is out of date; rerun ranlib(1) (can't load from it)
     168
     169
     170(where '/Users/Shared/PS1/code/ipp-2.2/default.darwin' is replaced by wherever your installation is).  To solve this
     171
     172
     173 [wwoodvas@calm default.darwin] pwd
     174 /Users/Shared/PS1/code/ipp-2.2/default.darwin
     175 [wwoodvas@calm default.darwin] ranlib lib/libdata.a
     176
     177
     178I similarly had to run 'ranlib' on 'libjpeg.a' to get 'psLib' to compile:
     179
     180 ranlib /Users/Shared/PS1/code/ipp-2.2/default.darwin/lib/ligjpeg.a
     181
     182 * Nebulous is like to fail.  Don't worry about Nebulous for now.  To move on to starting with the next module
     183
     184 ./psbuild ipp-2.2 -start PS-IPP-Metadata-Config
     185
     186
     187 * Kapa tends to not succeed.  To protect against this, edit 'psModules/configure' and change the 'HAVE_KAPA' line to  'HAVE_KAPA="false"'.  Then it should succeed.  Kapa is a plotting package that's not vital to the pipeline.
     188
     189 * The next stage is to make sure the database is setup
     190
     191If you're using the MySQL installed within the IPP directory, you'll want to run the following to initialize the database.
     192
     193 cd $PSCONFDIR/ipp-2.2/default.darwin
     194 bin/mysql_install_db
     195
     196and then initialize the accounts
     197
     198 [wwoodvas@calm ~] mysql -u root
     199 Welcome to the MySQL monitor.  Commands end with ; or \g.
     200 Your MySQL connection id is 1 to server version: 5.0.27
     201 
     202 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
     203 
     204 mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('somedecentpassword');
     205 Query OK, 0 rows affected (0.00 sec)
     206 
     207 mysql> select host, user, password from mysql.user;
     208 +------------+------+-------------------------------------------+
     209 | host       | user | password                                  |
     210 +------------+------+-------------------------------------------+
     211 | localhost  | root | *2B61093CDF584221C2BAA604531AA14C476BAF04 |
     212 | Calm.local | root |                                           |
     213 | Calm.local |      |                                           |
     214 | localhost  |      |                                           |
     215 +------------+------+-------------------------------------------+
     216 4 rows in set (0.00 sec)
     217
     218 mysql> SET PASSWORD FOR 'root'@'Calm.local' = PASSWORD('somedecentpassword');
     219 Query OK, 0 rows affected (0.00 sec)
     220
     221 mysql> select host, user, password from mysql.user;
     222 +------------+------+-------------------------------------------+
     223 | host       | user | password                                  |
     224 +------------+------+-------------------------------------------+
     225 | localhost  | root | *2B61093CDF584221C2BAA604531AA14C476BAF04 |
     226 | Calm.local | root | *2B61093CDF584221C2BAA604531AA14C476BAF04 |
     227 | Calm.local |      |                                           |
     228 | localhost  |      |                                           |
     229 +------------+------+-------------------------------------------+
     230 4 rows in set (0.00 sec)
     231
     232 * Then there's the issue of making sure the data and catalogs are in good places and telling IPP about them through the configuration files.
     233
     234I'll detail these steps once I get through them.