AstrOmatic repositories

filecabinetAstrOmatic software packages come with most Linux distributions. However they not always available in their most recent versions. Moreover, the executables are generally not optimized for performance.

For these reasons, it may often be beneficial to  get AstrOmatic software from its dedicated source and binary repositories.

Binary packages

Modern operating system distributions come with binary package management tools to install binary packages and handle possible inter-package dependencies. The most popular package formats in the GNU/Linux world are RPM (RedHat Linux family of distributions) and Deb(Debian Linux family). AstrOmatic provides optimized binary packages for distributions from both families. Currently supported distributions are
  • RPM-based:
  • Deb-based:
    • Debian 8 ("Jessie"), 9 ("Stretch"), and 10 ("Buster")
    • Ubuntu 14.04 ("Trusty"), 16.04 ("Xenial"), and 18.04 ("Bionic")
Two channels are provided for every distribution: bleeding and stable. Packages in the bleeding ("bleeding edge") channel integrates all the latest changes, but they only go through a minimum set of tests before being built. They are best for experienced users who want to take advantage of the latest features. The stable channel packages are released after more extensive testing. They are best for all cases where stability is paramount, such as in large production pipelines. Binary packages of both channels are compiled with the INTEL compiler, fully optimized, and linked with INTEL's Math Kernel Library when applicable. Thanks to a better, multipath auto-vectorization (CPU dispatch), executables from these packages generally run 20 to 200% faster than those provided by existing Linux distributions.

Adding the AstrOmatic repository to your software sources

GNU/Linux distributions can be configured to automatically install and update software packages from external repositories. Adding the bleeding AstrOmatic repository to the list managed by your system is straightforward (replace bleeding with stable in the command lines below to subscribe to the stable channel instead):

CentOS

As root user (or using sudo):
\$ yum install yum-utils epel-release
\$ yum-config-manager --add-repo=http://astromatic.net/repo/el/astromatic-bleeding.repo
In addition, in CentOS 8 some of the libraries used by AstrOmatic software have been labeled as "PowerTools" and must be enabled:
\$ yum-config-manager --set-enabled PowerTools
Once this is done, typing, e.g., yum install swarp to install SWarp, or yum update swarp if a previous version was already installed, will get you the latest version.

Fedora

As root user (or using sudo):
\$ dnf install dnf-plugins-core
\$ dnf-config-manager --add-repo=http://astromatic.net/repo/fedora/astromatic-bleeding.repo
Taking the SWarp example, dnf install swarp to install, or dnf update swarp if a previous version was already installed, will get you the latest version.

Debian

Source code

If your operating system is not included in the list of supported Linux distributions above, or if you need more control on the installation, or test features still in development, you may prefer to install AstrOmatic software from the source packages. Source code was originally available from a self-hosted SubVersion repository, with a public section open to anyone for read, and a private section containing projects in pre-alpha stage open only to developers for read and write. The SubVersion repository is now deprecated and the main AstrOmatic packages have been migrated to GitHub. Source code stable releases are available in the release section of each package repository. The master branch contains the most up-to-date version available; however it is not recommended for use in production unless critical bug fixes or new features not yet part of the last release are required. Code available in the various branches have had no or minimal testing, and may not even compile.

AstrOmatic software is meant to be portable. For most packages, the main code is written in ANSI C, system function calls conform to POSIX, and the build system relies on GNU Autotools. On UN*X systems, all is needed to compile and install the source code after cloning or downloading is
\$ ./autogen.sh
\$ ./configure
\$ make
\$ sudo make install
The configure step can be customized using configure options. configure --help gives a full list of options. Note that software compiled from the source package installs by default in /usr/local instead of /usr, and can therefore coexist with binary distributions. You may also choose to generate your own binary packages (see previous section). On RPM-based systems this is done by typing make rpm(for the regular version compiled with the default system compiler and open-source numerical libraries), or make rpm-best (for the version with the INTEL compiler and MKL). The Deb-based distribution equivalents are make deb or make deb-best.