In the following code substitute the actual release name for <release>.

Linux

 source ~/<release>-build
 cd /export/data/star
 git clone git://github.com/Starlink/starlink.git starlink-<release>
 cd starlink-<release>
 git checkout <release>
 ./bootstrap
 make configure-deps
 ./configure -C
 make world

OS X

 source ~/<release>-build
 export DYLD_LIBRARY_PATH=/star/lib
 cd development
 git clone git://github.com/Starlink/starlink.git starlink-<release>
 cd starlink-<release>
 git checkout <release>
 ./bootstrap
 make configure-deps
 ./configure -C
 make world

STARPERL

The Perl modules installer can be found in the perlmods subdirectory. Change into the directory and for more information, see the instructions in the README.

 cd thirdparty/perlsys/perlmods/
 ./build-modules.sh

Note that the regular ExtUtils::F77 from CPAN does not work correctly if building with g95 as it prefers gfortran. We have a revised version with a different search path, probably easiest to copy it from /stardev. It should not be relevant if using the gfortran compiler, however, NDF.so built in perl-NDF with ExtUtils can still be linked to libg2c, which is not available on all Linux distros. After installing the Starlink version of ExtUtils::F77

cd perl-NDF
starperl Build.PL
./Build clean
./Build
./Build install

should remove the link to libg2c.so.

STARJAVA

LINUX

Download JDK (both 1.5 and 1.6) from Sun. Download JAI from java.net: http://download.java.net/media/jai/builds/release/1_1_3/

Run the binary installer for the JDK, which will create jdk-<whatever> directories. (The preceding three steps have been done as the starlink user on both scubadev and acsis, and the directories are in the /export/data/star directory. -- 22 January 2010) Change into the created jdk- directory, then run the binary installer for JAI, which will install JAI into the JDK directory. Then cp -r * $STARCONF_DEFAULT_PREFIX/java1.[56] to copy the files into the distribution.

 cd $STARCONF_DEFAULT_PREFIX
 ln -s java1.5 java
 setenv STAR_JAVA $STARCONF_DEFAULT_PREFIX/java/bin/java

OS X

 export STAR_JAVA=/usr/bin/java

Both platforms

Make sure that the ~/.stardev.properties file has:

 star.dir=/star-<release>/starjava
 stardev=/star-<release>

(Not sure if this can take environment variables, which is why it doesn't use $STARCONF_DEFAULT_PREFIX)

 git clone git://github.com/Starlink/starjava.git starjava-<release>
 cd starjava-<release>
 git checkout <release>
 cd ant
 setenv PATH `pwd`/bin:${PATH}

Make sure that the Starlink 'ant' command is first in your path by doing:

 ant -projecthelp

If you see references for Starlink in there, you've done it right. Then do:

 ant install
 ant clean

Or if you didn't set up the properties file:

  ant -Dstar.dir=${STARLINK_DIR}/starjava install

Start using the new ant:

 setenv PATH $STARCONF_DEFAULT_PREFIX/starjava/bin:${PATH}

And build starjava:

 cd ..
 ant build
 ant install

Or if you didn't set up the properties file:

  cd ..
  unsetenv DISPLAY
  ant -Dstardev=${STARLINK_DIR} -Dstar.dir=${STARLINK_DIR}/starjava install

ORAC-DR

 cd $STARCONF_DEFAULT_PREFIX/bin
 git clone git://github.com/Starlink/ORAC-DR.git oracdr
 cd oracdr/src/docs
 make install

 # Tidy up documents build tree?
 git clean -fdx

Final tidy up

Remove useless .dvi files:

  cd $STARLINK_DIR
  rm docs/*.htx/*.dvi

Recent Starlink releases seem to have left bin/oracdr/.git/ in place.

Finally make the release. This must be done from the directory containing the release directory so that the source directory can be given as the plain directory name. This ensures that it will unpack correctly into a simple subdirectory of the user's CWD when they unpack it. The following command omits the -v option in order for errors not to be hidden amongst a lot of other output.

   cd $STARLINK_DIR/..
   tar -czf /export/data/star/starlink-RELEASENAME-Linux_RCX.tar.gz star-2015A