| Version 2 (modified by , 17 years ago) ( diff ) |
|---|
Making an IPP installation accessible to multiple users
Setting up a global psconfig directory
There's one directory where all IPP installations live. By default, it's ~/psconfig/ but you can make it a different location by creating a file ~/.psconfigrc which contains
set PSCONFDIR = /IPP/
Then create a directory $PSCONFDIR/psconfig and copy the psconfig.bash and psconfig.csh scripts there from the source tree (this is something that the build/install will probably do automatically in future).
The only thing that's missing is an alias for psconfig that reads those .csh or .bash files:
bash: alias psconfig='source /IPP/psconfig.csh' csh: alias psconfig "source /IPP/psconfig.bash"
Alternating between versions installed in a global directory and versions installed in your own home directory is possible, but you need to unset PSCONFDIR, make sure that there's no .psconfigrc (e.g. by renaming it), and point psconfig at the different different directory, so I don't recommend it.
To run pantasks, your startup file ~/.bashrc or ~/.tcshrc needs to execute psconfig; see Pantasks_FAQ#Why are my nodes "down" or "resp"?
Setting an alias
If ipp was installed with
psbuild -bootstrap PSCONFDIR
the psconfig.bash and psconfig.csh point to the IPP installations in PSCONFDIR by default. Thus, for other users to use a given IPP install, they just need to create the same psconfig alias as the person who installed IPP, i.e.
alias psconfig="source PSCONFDIR/psconfig.bash"
for bash, or
alias psconfig "source PSCONFDIR/psconfig.csh"
for [t]csh.
PSCONFDIR needs to be readable by all the intended users, of course, AND NEEDS TO BE IDENTICAL TO WHAT'S SET IN ~/.psconfigrc.
In Heidelberg, there's always a softlink ipp-default pointing to the most recent installed version of IPP. To use that, then just issue the command
psconfig ipp-default
on the command-line.
Important: To use multiple hosts in parallel in pantasks, your startup file needs to call psconfig. If you do that, there is an unfortunate bug in IPP (1079) that will break at least the man command, and maybe more.
Setting up individual config files
IPP has a config file hierarchy. There are two per-user config files:
~/.ipprc # Definitions for psphot etc. ~/.ptolemyrc # Definitions for dvo
There are templates for both files, so to begin with, just copy those into your home directory. In Heidelberg, suitable templates are at
cp /IPP/ipprc.template ~/.ipprc cp /IPP/ptolemyrc.template ~/.ptolemyrc
The configuration system is hierarchical, with defaults in the global ippconfig directories that can be overridden by definitions in user-specified directories. E.g. to include camera definitions that are located in your own file area, edit the PATH in .ipprc:
PATH STR /home/jester/IPP/ippconfig/:MYINSTALLDIR/share/ippconfig:
This looks for any required configuration files first in /home/jester/IPP/ippconfig/ and if it does not find a match there, takes the IPP-wide defaults. At present, you have to replicate an entire file in your own area if you want to change a single setting from the default. Also note that there is an internal hierarchy, with files in the recipes/ folder setting defaults that can be overriden in camera-specific files; the catch is that a concept MUST be present in the recipes/ version of a config file (i.e. you can't add new things in a camera-specific file).
In general, the configuration system may be changing, so that a per-user configuration that works with one version of IPP may cease to work with the next release. Thus, it may be necessary to compare the local versions of .ipprc, .ptolemyrc and any individual camera config files with their defaults from the new IPP version (in MYINSTALLDIR/share/ippconfig).
Compiling
In general
Get IPP tarfile or export from cvs and set the new version ID; including the date if from cvs, or using the version number if a numbered release
Warning: these are outdated as we have moved from cvs to svn. However, I haven't done the equivalent in svn yet.
# Access IPP cvs export CVSROOT=cvs.pan-starrs.ifa.hawaii.edu:/cvsroot/pan-starrs; export CVS_RSH=ssh # Get IPP (here from cvs, by date) cd /IPP/ cvs export -D 2008-11-11 -d ./cvs-20081111 ipp # Set psconfig id of new version psconfig cvs-20081111 # Install autoconf 2.61 which is needed cd /IPP/extlibs/autoconf-2.61 ./configure --prefix=/IPP/cvs-20081111.lin64/ make && make install # Point to where CFITSIO will be export CFITSIO=/IPP/cvs-20081111.lin64/ # Install IPP cd /IPP/cvs-20081111/psconfig/ psbuild -dev -extbuild # omit the -dev if building from a version-numbered tarball
If using pantasks, update your <code>~/.bashrc</code> (or equivalent) to point to the new version. Done!
Just Ohana / dvo
I wanted an install tree that has just Ohana i.e. dvo. To do that, I say
psconfig dvo-2.2
which sets up a new install tree $PSCONFDIR/dvo-2.2. I then compile and install only Ohana:
psbuild -only Ohana -rebuild -clean
I definitely need -rebuild because otherwise there may still be files pointing to the previous install directory and nothing happens because those are still up to date. I just threw in -clean for good measure, as I wouldn't bet on everything working without it.
Note both of these don't quite work automatically, as any libraries that are not installed in /usr/local or another standard location need to be copied into the version-dependent tree's include/ and lib/ subdirectories.
Just analysis tools but not pipeline or anything that requires sql
psconfig ipp-2.2-nosql psbuild -only Ohana -rebuild && psbuild -start psLib -stop ppSim -rebuild && psbuild -only ippconfig -rebuild
I tried these without -clean and will see what happens.
Running
To use my just-Ohana tree, I log in and say
psconfig dvo-2.2
I can then use dvo.
Similarly, for the analysis-only distribution I say
psconfig ipp-2.2-nosql
and can run psphot.
