Installing PS1/IPP 2.4-cr-0


[This is on a PowerMac? G5 running Mac OS X 10.5.2]

Download the main tarball and associated extras. The accompanying C and Perl libraries/packages are now available as single tarballs.

wget http://pan-starrs.ifa.hawaii.edu/project/IPP/software/bundles/ipp-2.4.tgz wget http://pan-starrs.ifa.hawaii.edu/project/IPP/software/bundles/extlibs-2.4.tgz wget http://pan-starrs.ifa.hawaii.edu/project/IPP/software/bundles/extperl-2.4.tgz wget http://pan-starrs.ifa.hawaii.edu/project/IPP/software/bundles/catdir.synth.simtest.tgz

You don't yet need the last file, which is an astrometric catalog, to compile, but you'll want it later for 'simtest'.

Untar and read the instructions

tar xvzf ipp-2.4.tgz tar xvzf extlibs-2.4.tgz tar xvzf extperl-2.4.tgz less ipp-2.4/psconfig/INSTALL

Set up your configuration:

echo 'set PSCONFDIR = /Volumes/data/PS1/code' > ~/.psconfigrc echo 'setenv PS1BASE /Volumes/data/PS1/src/ipp-2.4' > ~/.cshrc.ps1 echo 'alias "psconfig source $PS1BASE/psconfig/psconfig.csh"' >> ~/.cshrc.ps1 echo 'psconfig ipp-2.4' >> ~/.cshrc.ps1 echo 'source ~/.cshrc.ps1' >> ~/.cshrc

Now we have to to one level of bootstrapping to generate the configuration files that we will then use

psbuild -bootstrap /Volumes/data/PS1/src/ipp-2.4/psconfig

and then we can

source ~/.cshrc.ps1

Make our directories here the code will go.

mkdir $PSCONFDIR mkdir $PSCONFDIR/ipp-2.4.darwin

The 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.

psconfig

will give you the prefix path (which is what you defined on the first line of the section above with PSCONFDIR), the configuration ('ipp-2.4' 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.,

[wwoodvas@serenity code] psconfig | grep : | sed -e 's/ : /\//' | sed -e 's/ : /./' /Volumes/data/PS1/code/ipp-2.4.darwin

Now let's start compiling things. As of IPP 2.3 'pschecklibs' has a -build option so we'll use that to add anything that's not already installed.

[*I had to pause here and upgrade to XCode 3.0 since I forgot to upgrade XCode when I upgraded from 10.4 to 10.5]

cd $PS1BASE/psconfig/ ./pschecklibs -build ./pscheckperl -build

I had to edit pschecklibs to fix a bug that prevented the architecture from being determined correctly for PowerPC machines. This has been submitted to the IPP Bugzilla as Bug #1038. If you want to fix it yourself, the problem is that on line 410 there is a '==' to compare two strings rather than the correct 'eq'.

I also had to explicitly set the environment variable CFITSIO to '/sw', which is where I had my cfitsio installed.

Now let's give it a go:

psbuild ipp-2.4

It made it fine through to Ohana:

[...] if [ -d "mana" ]; then (cd mana && make); fi gcc -g -O0 -DHAVE_MYSQL_H -I/Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include -I/usr/include -I/sw/include -I/usr/X11R6/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include/mysql -Ddarwin -c /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/rawstars.c -o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/rawstars.darwin.o gcc -g -O0 -DHAVE_MYSQL_H -I/Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include -I/usr/include -I/sw/include -I/usr/X11R6/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include/mysql -Ddarwin -c /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/fitcontour.c -o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/fitcontour.darwin.o gcc -g -O0 -DHAVE_MYSQL_H -I/Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include -I/usr/include -I/sw/include -I/usr/X11R6/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include/mysql -Ddarwin -c /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/starcontour.c -o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/starcontour.darwin.o gcc -g -O0 -DHAVE_MYSQL_H -I/Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include -I/usr/include -I/sw/include -I/usr/X11R6/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include/mysql -Ddarwin -c /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/version.c -o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/version.darwin.o gcc -g -O0 -DHAVE_MYSQL_H -I/Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include -I/usr/include -I/sw/include -I/usr/X11R6/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include/mysql -Ddarwin -c /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/findpeaks.c -o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/findpeaks.darwin.o gcc -g -O0 -DHAVE_MYSQL_H -I/Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include -I/usr/include -I/sw/include -I/usr/X11R6/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include/mysql -Ddarwin -c /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/init.c -o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/init.darwin.o sed "s|@DATADIR@|/Volumes/data/PS1/code/ipp-2.4.darwin/share/mana|" /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/mana.c.in > /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/mana.c gcc -g -O0 -DHAVE_MYSQL_H -I/Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include -I/usr/include -I/sw/include -I/usr/X11R6/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include/mysql -Ddarwin -c /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/mana.c -o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/mana.darwin.o gcc -g -O0 -DHAVE_MYSQL_H -I/Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include -I/usr/include -I/sw/include -I/usr/X11R6/include -I/Volumes/data/PS1/code/ipp-2.4.darwin/include/mysql -Ddarwin -c /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/findrowpeaks.c -o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/findrowpeaks.darwin.o gcc -g -O0 -o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/bin/mana.darwin /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/rawstars.darwin.o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/fitcontour.darwin.o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/starcontour.darwin.o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/version.darwin.o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/findpeaks.darwin.o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/init.darwin.o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/mana.darwin.o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/findrowpeaks.darwin.o -lbasiccmd -ldatacmd -lastrocmd -lshell -ldata -ldvo -lkapa -lFITS -lohana -L/Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/lib -L/Volumes/data/PS1/code/ipp-2.4.darwin/lib -L/usr/X11R6/lib -L/usr/lib -L/sw/lib -L/Volumes/data/PS1/code/ipp-2.4.darwin/lib/mysql -lpng -lz -ljpeg -lreadline -lX11 -lpthread -lm -lncurses -lmysqlclient Undefined symbols:

"_append_history", referenced from:

_opihi in libshell.a(opihi.darwin.o)

"_rl_completion_matches", referenced from:

_command_completer in libshell.a(CommandOps?.darwin.o)

ld: symbol(s) not found collect2: ld returned 1 exit status make[4]: *** /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/bin/mana.darwin Error 1 rm /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/mana.c make[3]: *** [mana] Error 2 make[2]: *** [all] Error 2 make[1]: *** [opihi] Error 2 make: *** [all] Error 2 problem building Ohana : failure in make

Ah, I figured out that it's finding the BSD /usr/lib/libreadline before the GNU /sw/lib/libreadline version. Need to work on pschecklibs to make sure that it not only detects that a library exists beyond a certain version but that it is found first in the library search path. I edited '/Volumes/data/PS1/src/ipp-2.4/Ohana/Makefile.System' and then ran make for 'Ohaha/src/opihi/mana' and it worked:

[wwoodvas@serenity mana] vi ../../../Makefile.System [wwoodvas@serenity mana] make gcc -g -O0 -o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/bin/mana.darwin /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/rawstars.darwin.o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/fitcontour.darwin.o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/starcontour.darwin.o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/version.darwin.o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/findpeaks.darwin.o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/init.darwin.o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/mana.darwin.o /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana/findrowpeaks.darwin.o -lbasiccmd -ldatacmd -lastrocmd -lshell -ldata -ldvo -lkapa -lFITS -lohana -L/Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/lib -L/Volumes/data/PS1/code/ipp-2.4.darwin/lib -L/usr/X11R6/lib -L/sw/lib -L/usr/lib -L/Volumes/data/PS1/code/ipp-2.4.darwin/lib/mysql -lpng -lz -ljpeg -lreadline -lX11 -lpthread -lm -lncurses -lmysqlclient

compiled mana

[wwoodvas@serenity mana] pwd /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana

Then seeing if the rest of Ohana will compile:

[wwoodvas@serenity mana] pwd /Volumes/data/PS1/src/ipp-2.4/Ohana/src/opihi/mana [wwoodvas@serenity mana] cd ../../../ [wwoodvas@serenity Ohana] pwd /Volumes/data/PS1/src/ipp-2.4/Ohana [wwoodvas@serenity Ohana] make

That succeeded. Back to overall compilation

[wwoodvas@serenity psconfig] pwd

/Volumes/data/PS1/src/ipp-2.4/psconfig

[wwoodvas@serenity psconfig] psbuild ipp-2.4

[...]

** psbuild: Nebulous **

perl Build.PL --prefix /Volumes/data/PS1/code/ipp-2.4.darwin --install_path script=/Volumes/data/PS1/code/ipp-2.4.darwin/bin --install_path arch=/Volumes/data/PS1/code/ipp-2.4.darwin/bin --install_path bin=/Volumes/data/PS1/code/ipp-2.4.darwin/bin --install_path lib=/Volumes/data/PS1/code/ipp-2.4.darwin/lib --install_path bindoc=/Volumes/data/PS1/code/ipp-2.4.darwin/man/man1 --install_path libdoc=/Volumes/data/PS1/code/ipp-2.4.darwin/man/man3 Creating custom builder _build/lib/MyModuleBuilder.pm in _build/lib Checking whether your kit is complete... WARNING: the following files are missing in your kit:

Makefile.PL META.yml nebclient/compile

Please inform the author.

Checking prerequisites...

  • ERROR: Sys::Statistics::Linux::DiskUsage? is not installed
  • ERROR: DBD::mysql is not installed
  • ERROR: DBI (1.52) is installed, but we need version >= 1.53
  • Optional prerequisite Test::Distribution is not installed

ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions of the modules indicated above before proceeding with this installation

open t/TEST: Is a directory at /Volumes/data/PS1/code/ipp-2.4.darwin/lib/darwin-thread-multi-2level/Apache/TestConfig.pm line 969. problem building Nebulous : failure in perl Build.PL