Step-by-step instructions for installing the pipeline code

Michael Richmond
Apr 25, 2003

This simply breaks down the procedure of downloading, unpacking, and arranging the software into a set of steps. It worked for me; your system may require substituting different commands at some steps.

Create a directory


[grid]$ mkdir top
[grid]$ cd top

Download the software packages and stellar catalog


[top]$ wget -q http://spiff.rit.edu/tass/xvista/xvista-0.1.2.tar.gz
[top]$ wget -q http://spiff.rit.edu/tass/bait/bait-0.1.tar.gz
[top]$ wget -q http://spiff.rit.edu/match/match-latest.tar.gz
[top]$ wget -q http://spiff.rit.edu/photom/photom-latest.tar.gz
[top]$ wget -q http://spiff.rit.edu/tass/pipeline/pipeline-0.3.tar.gz
[top]$ wget -q http://spiff.rit.edu/tass/tycho/tyc2_photom.dat.gz
[top]$ ls
total 7112
   4 ./                120 match-latest.tar.gz   6324 tyc2_photom.dat.gz
   4 ../               132 photom-latest.tar.gz   308 xvista-0.1.2.tar.gz
  80 bait-0.1.tar.gz   140 pipeline-0.3.tar.gz 

Unzip and untar each package


[top]$ tar -xzf bait-0.1.tar.gz 
[top]$ tar -xzf match-latest.tar.gz 
[top]$ tar -xzf photom-latest.tar.gz 
[top]$ tar -xzf pipeline-0.3.tar.gz 
[top]$ tar -xzf xvista-0.1.2.tar.gz 
[top]$ ls
total 7132
   4 ./                120 match-latest.tar.gz   6324 tyc2_photom.dat.gz
   4 ../                 4 photom-0.6/              4 xvista-0.1.2/
   4 bait-0.1/         132 photom-latest.tar.gz   308 xvista-0.1.2.tar.gz
  80 bait-0.1.tar.gz     4 pipeline-0.3/
   4 match-0.6/        140 pipeline-0.3.tar.gz

Rename the directories so the version numbers don't appear


[top]$ mv bait-0.1 bait
[top]$ mv match-0.6/ match
[top]$ mv photom-0.6 photom
[top]$ mv pipeline-0.3 pipeline
[top]$ mv xvista-0.1.2 xvista
[top]$ ls
total 7132
   4 ./                120 match-latest.tar.gz   6324 tyc2_photom.dat.gz
   4 ../                 4 photom/                  4 xvista/
   4 bait/             132 photom-latest.tar.gz   308 xvista-0.1.2.tar.gz
  80 bait-0.1.tar.gz     4 pipeline/
   4 match/            140 pipeline-0.3.tar.gz

Go into each package's subdirectory and run "./configure; make "

I'll show the full sequence of output for the first package, "bait", only; for the others, I'll just show the commands and the final bits of output which result.


[top]$ cd bait
[bait]$ ./configure ; make
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets ${MAKE}... yes
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for a BSD-compatible install... /usr/bin/install -c
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
source='picksym.c' object='picksym.o' libtool=no \
depfile='.deps/picksym.Po' tmpdepfile='.deps/picksym.TPo' \
depmode=gcc3 /bin/sh ./depcomp \
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_
STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"bait\" -DVERSION=\"0.1\"  -I. -
I.     -g -O2 -c `test -f 'picksym.c' || echo './'`picksym.c
source='pf_io.c' object='pf_io.o' libtool=no \
depfile='.deps/pf_io.Po' tmpdepfile='.deps/pf_io.TPo' \
depmode=gcc3 /bin/sh ./depcomp \
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_
STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"bait\" -DVERSION=\"0.1\"  -I. -
I.     -g -O2 -c `test -f 'pf_io.c' || echo './'`pf_io.c
source='misc.c' object='misc.o' libtool=no \
depfile='.deps/misc.Po' tmpdepfile='.deps/misc.TPo' \
depmode=gcc3 /bin/sh ./depcomp \
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_
STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"bait\" -DVERSION=\"0.1\"  -I. -
I.     -g -O2 -c `test -f 'misc.c' || echo './'`misc.c
source='isvalid.c' object='isvalid.o' libtool=no \
depfile='.deps/isvalid.Po' tmpdepfile='.deps/isvalid.TPo' \
depmode=gcc3 /bin/sh ./depcomp \
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_
STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"bait\" -DVERSION=\"0.1\"  -I. -
I.     -g -O2 -c `test -f 'isvalid.c' || echo './'`isvalid.c
source='fits.c' object='fits.o' libtool=no \
depfile='.deps/fits.Po' tmpdepfile='.deps/fits.TPo' \
depmode=gcc3 /bin/sh ./depcomp \
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_
STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"bait\" -DVERSION=\"0.1\"  -I. -
I.     -g -O2 -c `test -f 'fits.c' || echo './'`fits.c
source='header.c' object='header.o' libtool=no \
depfile='.deps/header.Po' tmpdepfile='.deps/header.TPo' \
depmode=gcc3 /bin/sh ./depcomp \
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_
STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"bait\" -DVERSION=\"0.1\"  -I. -
I.     -g -O2 -c `test -f 'header.c' || echo './'`header.c
gcc  -g -O2   -o picksym  picksym.o pf_io.o misc.o isvalid.o fits.o header.o  
source='putsym.c' object='putsym.o' libtool=no \
depfile='.deps/putsym.Po' tmpdepfile='.deps/putsym.TPo' \
depmode=gcc3 /bin/sh ./depcomp \
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_
STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"bait\" -DVERSION=\"0.1\"  -I. -
I.     -g -O2 -c `test -f 'putsym.c' || echo './'`putsym.c
gcc  -g -O2   -o putsym  putsym.o pf_io.o misc.o isvalid.o fits.o header.o  

[bait]$ cd ..
[top]$ 

Now, for the others, a compressed version of the results. We start in the "top" directory each time. Note that the "match" and "photom" directories, we type make check; that builds the executables, and in addition runs simple self-test checks. The other packages lack these tests.


[top]$ cd match 
[match]$ ./configure ; make check
creating cache ./config.cache
checking for a BSD compatible install... /usr/bin/install -c

  (etc., skip a lot)

make  check-TESTS
make[1]: Entering directory `/xz/tass/grid/top/match'
match: passed all tests
PASS: selftest.pl
==================
All 1 tests passed
==================
make[1]: Leaving directory `/xz/tass/grid/top/match'

[match]$ cd ..
[top]$ 



[top]$ cd photom
[photom]$ ./configure ; make check
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes

   (etc.)

make  check-TESTS
make[1]: Entering directory `/xz/tass/grid/top/photom'
  a set of messages with zero-point mismatches should follow ...
check_results: pair  0 V-band zero point is  0.702   should be  1.000 
check_results: pair  1 V-band zero point is  0.594   should be  0.900 
check_results: pair  2 V-band zero point is  0.485   should be  0.800 
check_results: pair  3 V-band zero point is  0.375   should be  0.700 
check_results: pair  4 V-band zero point is  0.262   should be  0.600 
check_results: pair  0 I-band zero point is  0.973   should be  1.100 
check_results: pair  1 I-band zero point is  0.870   should be  1.000 
check_results: pair  2 I-band zero point is  0.767   should be  0.900 
check_results: pair  3 I-band zero point is  0.663   should be  0.800 
check_results: pair  4 I-band zero point is  0.557   should be  0.700 
PASS: selftest.pl
==================
All 1 tests passed
==================
make[1]: Leaving directory `/xz/tass/grid/top/photom'

[photom]$ cd ..
[top]$ 



[top]$ cd pipeline
[pipeline]$ ./configure ; make
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes

   (etc. -- not so much in this case)

cat ./refcat.perl >> refcat.pl
chmod ugo+x refcat.pl
[pipeline]$ cd ..
[top]$ 



[top]$ cd xvista
[xvista]$ ./configure ; make 
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes

   (etc.)

gcc  -g -O2   -o xplot  xplot.o -L. -lvista -lxplot -L/usr/X11R6/lib -lX11 -lm -
lm -ldl 
make[1]: Leaving directory `/xz/tass/grid/top/xvista'

[xvista]$ cd ..
[top]$ 


Make the input and output directories, put stuff into input

I have a large set of data from DS24 already on my computer, so below, I just link it into the new "input" directory. Most people would probably have to copy it from http://spiff.rit.edu/tass/ds24/


[richmond@acd188a-005 top]$ ls
total 71326%)
   4 ./                120 match-latest.tar.gz   6324 tyc2_photom.dat.gz
   4 ../                 4 photom/                  4 xvista/
   4 bait/             132 photom-latest.tar.gz   308 xvista-0.1.2.tar.gz
  80 bait-0.1.tar.gz     4 pipeline/
   4 match/            140 pipeline-0.3.tar.gz

[richmond@acd188a-005 top]$ mkdir input
[richmond@acd188a-005 top]$ mkdir output
[richmond@acd188a-005 top]$ gunzip tyc2_photom.dat.gz
[richmond@acd188a-005 top]$ mv tyc2_photom.dat input
[richmond@acd188a-005 top]$ ln -s /xz/tass/grid/input/* input
[richmond@acd188a-005 top]$ ls input
total 20468
    4 ./                  8232 hira2604834.fits    8232 hvra2604809.fits 
    4 ../                 8232 hira2604836.fits    8232 hvra2604810.fits 
   12 ds24.txt            8232 hira2604837.fits    8232 hvra2604811.fits 
 8232 hira2597478.fits    8232 hira2604839.fits    8232 hvra2604812.fits 
 8232 hira2597479.fits    8232 hira2604840.fits    8232 hvra2604814.fits 
 8232 hira2597480.fits    8232 hira2604841.fits    8232 hvra2604815.fits 
 8232 hira2597482.fits    8232 hira2604843.fits    8232 hvra2604817.fits 
 8232 hira2597483.fits    8232 hira2604844.fits    8232 hvra2604818.fits 
 8232 hira2597485.fits    8232 hira2604846.fits    8232 hvra2604819.fits 
 8232 hira2597486.fits    8232 hira2604847.fits    8232 hvra2604821.fits 
 8232 hira2597487.fits    8232 hira2604848.fits    8232 hvra2604822.fits 
 8232 hira2597489.fits    8232 hira2604850.fits    8232 hvra2604823.fits 
 8232 hira2597490.fits    8232 hira2604851.fits    8232 hvra2604825.fits 
 8232 hira2597492.fits    8232 hira2604852.fits    8232 hvra2604826.fits 
 8232 hira2597493.fits    8232 hira2604854.fits    8232 hvra2604828.fits 
 8232 hira2597494.fits    8232 hira2604855.fits    8232 hvra2604829.fits 
 8232 hira2597496.fits    8232 hira2604856.fits    8232 hvra2604830.fits 
 8232 hira2597497.fits    8232 hira2604858.fits    8232 hvra2604832.fits 
 8232 hira2597498.fits    8232 hira2604859.fits    8232 hvra2604833.fits 
 8232 hira2597500.fits    8232 hira2604861.fits    8232 hvra2604834.fits 
 8232 hira2597501.fits    8232 hira2604862.fits    8232 hvra2604836.fits 
 8232 hira2597503.fits    8232 hira2604863.fits    8232 hvra2604837.fits 
 8232 hira2597504.fits    8232 hvra2597478.fits    8232 hvra2604839.fits 
 8232 hira2604797.fits    8232 hvra2597479.fits    8232 hvra2604840.fits 
 8232 hira2604799.fits    8232 hvra2597480.fits    8232 hvra2604841.fits 
 8232 hira2604800.fits    8232 hvra2597482.fits    8232 hvra2604843.fits 
 8232 hira2604802.fits    8232 hvra2597483.fits    8232 hvra2604844.fits 
 8232 hira2604803.fits    8232 hvra2597485.fits    8232 hvra2604846.fits 
 8232 hira2604804.fits    8232 hvra2597486.fits    8232 hvra2604847.fits 
 8232 hira2604806.fits    8232 hvra2597487.fits    8232 hvra2604848.fits 
 8232 hira2604807.fits    8232 hvra2597489.fits    8232 hvra2604850.fits 
 8232 hira2604809.fits    8232 hvra2597490.fits    8232 hvra2604851.fits 
 8232 hira2604810.fits    8232 hvra2597492.fits    8232 hvra2604852.fits 
 8232 hira2604811.fits    8232 hvra2597493.fits    8232 hvra2604854.fits 
 8232 hira2604812.fits    8232 hvra2597494.fits    8232 hvra2604855.fits 
 8232 hira2604814.fits    8232 hvra2597496.fits    8232 hvra2604856.fits 
 8232 hira2604815.fits    8232 hvra2597497.fits    8232 hvra2604858.fits 
 8232 hira2604817.fits    8232 hvra2597498.fits    8232 hvra2604859.fits 
 8232 hira2604818.fits    8232 hvra2597500.fits    8232 hvra2604861.fits 
 8232 hira2604819.fits    8232 hvra2597501.fits    8232 hvra2604862.fits 
 8232 hira2604821.fits    8232 hvra2597503.fits    8232 hvra2604863.fits 
 8232 hira2604822.fits    8232 hvra2597504.fits      16 make_list.out 
 8232 hira2604823.fits    8232 hvra2604797.fits    8232 master_dark_I_60.fts 
 8232 hira2604825.fits    8232 hvra2604799.fits    8232 master_dark_V_60.fts 
 8232 hira2604826.fits    8232 hvra2604800.fits       4 readme.txt 
 8232 hira2604828.fits    8232 hvra2604802.fits       4 readme.txt~ 
 8232 hira2604829.fits    8232 hvra2604803.fits       4 sky.dat~ 
 8232 hira2604830.fits    8232 hvra2604804.fits       4 skyi.dat 
 8232 hira2604832.fits    8232 hvra2604806.fits       4 skyv.dat 
 8232 hira2604833.fits    8232 hvra2604807.fits   20460 tyc2_photom.dat

[richmond@acd188a-005 top]$ ls output
total 8
   4 ./     4 ../


Go into the pipeline directory and run the pipeline

We create a tiny little file called "cmd.in", which contains a single TCL command to invoke the pipeline. We then run the "tclsh" interpreter, using this tiny file as input, and sending the output to a file "cmd.out" for later reference in case something goes wrong.


[richmond@acd188a-005 top]$ cd pipeline
[richmond@acd188a-005 pipeline]$ echo "source markiv_driver.tcl" > cmd.in
[richmond@acd188a-005 pipeline]$ tclsh < cmd.in >& cmd.out &
[1] 6789


About two and half hours later, the pipeline finished. All the intermediate and final results were in the "output" subdirectory.