August 2022: NOTE: astromake is now in https://github.com/astroumd/astromake. Everything below here is deprecated/not working.
August 1, 2001: NOTE: astromake is now available under CVS, and is undergoing a change to have it exist in other places from /usr/local/astro. This version (1.x) is NOT compatible with the earlier version of astromake (0.9x) .
August 21, 2001: There is now an FAQ

Whatis AstroMake

astromake is a small package (a few scripts, with some aliases and rc files) intended to make installations of some common astronomical packages (in binary form) easy. In practice it is a shell script that with the aid of makefiles wraps around rpm's, tarballs and debian packages, currently the three most common package formats (see also OpenPKG for a new alternative). See also this package comparison) and packaging techniques. This may very well be a temporary solution. Of course this means that if you e.g. use slackware, you must also have installed rpm. Some hints on how to install them are listed below. You should also look at the Linux for Astronomy cdrom project, as we share some packages, and ESO's new Scisoft project.
Caveat: astromake is being tested for internal use, on very limited (currently redhat 6.2) distributions, but we are making it available for general use. Most packages should however work on Mandrake 7.x, Redhat 7.1, Mandrake8.0, Debian 2.0+ and Slackware 3.6+ for which we have limited access here.
astroload is a command alias within astromake that users will use to load in their favorite package into the shell.

Please report problems, suggestions to teuben@astro.umd.edu

Packagers

Package comparisons, and discussions.

Available packages:

Currently the following packages are supported in astromake:

Package            Generic Name        VID   Size(Mb) 
-------            ------------    -------   -------- 

aastex                   aastex        502     0.44MB
astromake             astromake       0.93     0.03Mb 
dart                       dart      3.0.3     13.5Mb (*)
ds9                         ds9      2.1b4      5.3Mb 
gildas                   gildas      mar01    128.5Mb 
jstatus                 jstatus
hdf                         hdf      4.1r3     13.8Mb     
karma                     karma    1.6.33p      8.8Mb 
miriad                   miriad    01jun15     65.9Mb 
nemo                       nemo      3.0.5     20.1MB 
pgplot                   pgplot      5.2.2      1.6Mb
saoimage               saoimage       1.25      0.6Mb     
saord                     saord        1.8     20.3Mb     
sm                           sm        2.4     0.96Mb (*)     
xephem                   xephem      3.2.3      4.0Mb 
xgobi                     xgobi    sep2000      7.6MB 

(*) These packages must be obtained locally or from CD, since they have restricted distributions. See /apus/linux/astromake for a local copy.

Installation: astromake via cvs (preferred)

Obtain the source code via CVS. First need to login using a read-only guest account:
    cvs -d :pserver:guest@cvs.astro.umd.edu:/home/cvsroot login
(use password: guest) after which the source code can be checked out:
    cvs -d :pserver:guest@cvs.astro.umd.edu:/home/cvsroot co astromake
It will create a directory astromake. The installation steps are as follows:
    cd astromake
    ./configure
    make install
    source astromake_start		(this defines $ASTROMAKE)
after which added packages can start. Future updates to the astromake package should be done as follows:
    cd $ASTROMAKE
    cvs update -d
    ./configure
    make install

Installation: astromake via ftp

Obtain the installation tarball ftp://ftp.astro.umd.edu/pub/astro/astromake_1.0.tar.gz, or if you have wget:
	wget ftp://ftp.astro.umd.edu/pub/astro/astromake_1.0.tar.gz

and install it anywhere you like it (you don't have to be root)
	% tar -zxf astromake_1.0.tar.gz
(careful, some mailcap files will go install that tar file if you left-click on the URL from a thus-activated browser).

After this you should install astromake itself on your system:

	% cd astromake_1.0
	% ./configure
	% make install
	% source astromake_start
Now you are ready to install/de-install packages. Note this assumes you have plenty of disk space. Sometimes this can be alleviated by placing proper symbolic link in either $ASTROMAKE/opt.

Installation: packages

Now you can install any of the packages. Examples:
        astromake all saoimage saord
would fetch the saoimage and saord packages from our site, install them and remove the temporary tar files. If for some reason you need an older version, or specific version, most packages are stored with a version id (VID) in their file name:
        astromake -v 22feb99 all miriad
If, for some reason, you have copied the interesting files from the archives ( ftp://ftp.astro.umd.edu/pub/astro/), installation is done using the install directive:
        astromake install miriad
This applies in particular to packages which we cannot legally put on our anonymous ftp server. You need to copy those packages from your CDROM version or /apus/linux/ or /apus/linux/astromake directory.

Usage

You need to know where astromake has been installed, and add the following command to your csh startup script, e.g.
        source /astromake/astromake_start
after which any package can be loaded using the 'astroload' alias:
	astroload miriad ds9 nemo
If you need to load a specific version, for packages that support multiple versions, use the -v flag:
	astroload -v 99sep12 miriad
and to see which versions are supported by the packages on your version of astromake, use
	astroload -v 
There are normally under control of your astromake site administrator.

Other

See other useful things to have in your linux distribution. Also, check out my somewhat "astro.umd.edu" specific astrolaptop references and links for those who use laptops or want to work away from the office.

If you want to develop your own package under astromake, have a look at examples in /usr/local/astro/make/files on how to add a 'makefile'. Issues around how to get it working under the various linux distributions can still be problematic, not until LSB is adopted. See e.g. Linux Development Platform Specification V1.1.

Another approach to package your software is Xstow and GNU Stow.

See also the "Usepackage Environment Manager ", you can find a version on freshmeat, as well as SoftPKG

Yet another one is smart.

Now writing this in 2012: the more mature version that seems to be prevelant on many linux distributions is Environment Modules. In redhat based systems this package is called environment-modules.


This page was last modified on 17-Aug-2022 by teuben@astro.umd.edu.