The MESA SDK is a collection of compilers and run-time libraries that make it easy to install and use the MESA stellar evolution code.
|
Overview
Experience has demonstrated that incompatibilities and bugs in compilers and libraries are significant obstacles in getting MESA up and running with minimal fuss. For instance, MESA makes use of various features in the new(ish) Fortran 2003 standard, which aren't implemented (or are still buggy) in all but the most recent compiler releases.
Mac Pro is designed for pros who need the ultimate in CPU performance. From production rendering to playing hundreds of virtual instruments to simulating an iOS app on multiple devices at once, it's exceedingly capable. At the heart of the system is an Intel Xeon processor with up to 28 cores — the most ever in a Mac. © 2017 - 2019 Astrogun LLC. All rights reserved. All trademarks are the property of their respective owners. Terms of Use and Privacy Policy and Privacy Policy. Download Astrorun (19xx)(Ivan Bach)ASTRO Start ROM for BBC Micro and Play Astrorun (19xx)(Ivan Bach)ASTRO Start Video Game on your PC, Mac, Android or iOS device! VAST™ Launches on macOS, Now Available Across macOS, iOS, and tvOS! TUESDAY FEBRUARY 26, 2019 — ASTROGUN LLC – FOR IMMEDIATE RELEASE ASTROGUN.COM/ULTRA. CloudMakers Astrometry: Native Mac Astrometry image plate solving system. CloudMakers INDIGO Dashboard: A versatile tool that allows for custom created control panels to view and control all remote imaging operations using the INDIGO platform. INDIGO to Go: Mac OS and iOA monitor for all INDIGO based applications from CloudMakers.
To help overcome these obstacles, I've put together a unified software development kit (SDK) which contains compilers and libraries known to compile MESA correctly. Piplets mac os. The SDK contains the following components:
- The GNU Comipler Collection (gcc), with support for C, C++, and Fortran
- The GNU Project Debugger (gdb)
- The Valgrind code instrumentation framework
- The Basic Linear Algebra Subprogram (BLAS) library
- The Linear Algebra PACKage (LAPACK) library
- The Hierarchical Data Format v5 (HDF5) library
- The PGPLOT graphics library
- The SE library from the NuGrid project
- The ffmpeg movie encoder
- The ndiff fuzzy comparison tool
- Various helper scripts for use in linking against these libraries and other tasks
Currently, both Linux and Mac OS running on Intel/AMD processors are supported. Although the SDK was initially bundled as part of the standard MESA distribution (from release 3708 onwards), it makes more sense to keep it separate. This page hosts all the necessary information and links to download, install and use the SDK.
Linux (Intel)
Compatibility
The SDK should work on any relatively-recent Linux distribution running on 64-bit Intel-compatible processors (32-bit processors are no longer supported; in any case, MESA itself doesn't work on 32-bit). The GNU C library (also known as GLIBC) included in the distribution must be version 2.5 or more recent; to determine what GLIBC your system uses, run the command /lib/libc.so.6 (or, possibly, /lib64/libc.so.6) and examine the first line of the output for the version number.
Prerequisites
The following components must be installed for the SDK to work on Linux-based systems:
- The 'Binutils' development tools
- The 'Make' dependency/compilation tool
- The 'Perl' scripting language
- The 'X11' windowing library plus development headers
- The 'Z' compression library plus development headers
- The 'C' shell or derivatives
Not all of these components are installed by default on some Linux distributions, and you may have to use the appropriate package management tool (e.g., apt-get, yum, rpm, emerge) to install them. The following table lists the package names of the components (and any other pieces that are required) for some of the more-common distributions:
Package | Fedora / CentOS | Ubuntu | Mint | Gentoo | Arch |
---|---|---|---|---|---|
Binutils | binutils | binutils | binutils | sys-devel/binutils | binutils |
Make | make | make | make | sys-devel/make | make |
Perl | perl | perl | perl | dev-lang/perl | perl |
X11 library | libX11, libX11-devel | libx11-6, libx11-dev | libx11-dev | x11-libs/libX11 | libx11 |
Z library | zlib, zlib-devel | zlib1g, zlib1g-dev | zlib-dev | sys-libs/zlib | zlib |
C shell | tcsh | tcsh | tcsh | sys-shells/tcsh | tcsh |
Other | libc6-dev | glibc |
If your distribution is not listed here, please contact me and I'll add it to the table.
Download
To download the SDK for Linux, click on the appropriate link in the table:
Release Date MESA Version at Release | File | Notes |
---|---|---|
April 7 2021 (current) 15140 | mesasdk-x86_64-linux-21.4.1.tar.gz | Added fypp preprocessor; enabled float128 support in mpfr |
December 18 2020 15140 | mesasdk-x86_64-linux-20.12.1.tar.gz | Updated gcc to 10.2 |
March 25 2020 12778 | mesasdk-x86_64-linux-20.3.2.tar.gz | Added ODEPACK library |
March 1 2020 12778 | mesasdk-x86_64-linux-20.3.1.tar.gz | Added math slots functionality |
Note that versions of the SDK older than the current one are not formally supported but are provided here as a courtesy; if you run into problems using an older version, you should first try upgrading to the current version.
Installation
On Linux the SDK can be installed anywhere (this is different from previous releases, where it had to be put in the /opt directory). However, for simplicity the following instructions will assume you're installing in your home directory. The steps are as follows:
- Download the package from the table above
- Extract it using the command tar xvfz package_name -C ~/ (note that's a tilde in front of the slash!)
- Set the path to the SDK:
- For the C shell: setenv MESASDK_ROOT ~/mesasdk
- For the Bourne shell: export MESASDK_ROOT=~/mesasdk
- Initialize the SDK (also checks compatibility):
- For the C shell: source $MESASDK_ROOT/bin/mesasdk_init.csh
- For the Bourne shell: source $MESASDK_ROOT/bin/mesasdk_init.sh
- Check that the SDK is properly installed by running gfortran --version. The first line of the output should look something like this:
GNU Fortran (GCC) 9.2.0
If it doesn't, then you should consult the Troubleshooting section below.
Steps 3 and 4 need to be repeated each time you begin a new shell session; alternatively, they can be added to the appropriate shell start-up file (~/.cshrc for the C shell, and ~/.profile for the Bourne shell).
Usage
Nothing special needs to be done in order to use the SDK to build MESA. Simply change into the top-level mesa directory (the one created when you download and unpack MESA) and then run ./install.
Mac OS (Intel)
Compatibility
The SDK should work on any relatively-recent OS X distribution (10.10, Yosemite or later) running on Apple computers with 64-bit Intel-compatible processors (32-bit processors are no longer supported; in any case, MESA itself doesn't work on 32-bit).
Prerequisites
The following components must already be installed before the SDK can be installed on Mac OS systems:
- The Xcode command-line tools
- The XQuartz X-windows infrastructure
The Xcode command-line tools can be installed by running xcode-select --install from a Terminal prompt. (Note that a full installation of the Xcode development environment is not necessary). Likewise, XQuartz can downloaded and installed from here. Note that it is often necessary to reinstall the command-line tools and/or XQuartz after upgrading to a new release of OS X.
Download
To download the SDK for Mac OS, click on the appropriate link in the table:
Release Date MESA Version at Release | File | Notes |
---|---|---|
April 7 2021 (current) 15140 | mesasdk-x86_64-macos-21.4.1.pkg | Added fypp preprocessor; enabled float128 support in mpfr |
February 4 2021 15140 | mesasdk-x86_64-macos-21.2.1.pkg | Added support for MacOS 11.2 (Big Sur) |
December 18 2020 15140 | mesasdk-x86_64-macos-20.12.2.pkg | Updated to gcc 10.2 |
December 16 2020 15140 | mesasdk-x86_64-macos-20.12.1.pkg | Added support for MacOS 11.1 (Big Sur) |
November 19 2020 12778 | mesasdk-x86_64-macos-20.11.1.pkg | Added support for MacOS 11.0 (Big Sur) |
September 28 2020 12778 | mesasdk-x86_64-macos-20.9.1.pkg | Fixed 'library not found for -lSystem' issue, arising on fresh Xcode 12 deployments |
April 7 2020 12778 | mesasdk-x86_64-macos-20.4.1.pkg | Added md5sum and other checksum utilities from coreutils |
Note that versions of the SDK older than the current one are not formally supported but are provided here as a courtesy; if you run into problems using an older version, you should first try upgrading to the current version.
Installation
On Mac OS the SDK is installed into the Applications folder; you will likely need Administrator privileges to do this.
- Download the installer from the table above
- Open it by double clicking on it in the Finder
- Follow the on-screen prompts until the installation completes
- Set the path to the SDK:
- For the C shell: setenv MESASDK_ROOT /Applications/mesasdk
- For the Bourne shell: export MESASDK_ROOT=/Applications/mesasdk
- Initialize the SDK (also checks compatibility):
- For the C shell: source $MESASDK_ROOT/bin/mesasdk_init.csh
- For the Bourne shell: source $MESASDK_ROOT/bin/mesasdk_init.sh
- Check that the SDK is properly installed by running gfortran --version. The first line of the output should look something like this:
GNU Fortran (GCC) 10.2.0
If it doesn't, then you should consult the Troubleshooting section below.
Steps 4 and 5 need to be repeated each time you begin a new shell session; alternatively, they can be added to the appropriate shell start-up file (~/.cshrc for the C shell, and ~/.bash_profile for the Bourne shell).
Usage
See the usage instructions above for Linux (they are the same for Mac OS).
Math Slots
It's often convenient to have different versions of the same math libraries available through a single SDK installation — for instance, one optimized for speed, one for accuracy, and so on. To this end, recent releases (>= 20.3.1) of the SDK support a feature known as 'math slots'. By setting the MESASDK_MATH_SLOT environment variable, you can chose which set of math liberaries ('slot') gets used at compile time. Possible choices are as follows:
MESASDK_MATH_SLOT choice | Description |
---|---|
default | Default (no special optimizations or modifications) |
crmath | Correctly-rounded math, via the crlibm library |
If MESASDK_MATH_SLOT is not set, then the default slot is used. Note that when compiling MESA it isn't necessary to set MESASDK_MATH_SLOT yourself; the build scripts take care of it.
Making Movies
The SDK includes the ffmpeg encoder and a simple script, images_to_movie, which uses ffmpeg to create movies from PNG files produced by MESA.
To illustrate the script in action, suppose the &pgstar section of the MESA inlist file contains the following parameters:
This will make MESA write a sequence of PNG images into the png subdirectory, with filenames grid6_NNNNN.png (where N represents a single digit). To combine these files together into a movie, run the following command from the same directory MESA was run in:
This will produce an MPEG4 movie, with the filename movie.mp4. The type of movie produced is determined from the file extension. Other choices are possible (e.g., mpg for MPEG2), but the images_to_movie.sh script is specifically targeted at producing MPEG4 output, so it might be best to stick with the mp4 extension unless you know what you're doing.
IMPORTANT NOTE: In the example above, the quotes (' ') are necessary to prevent the shell from prematurely expanding the wildcard (*) character.Installing as Root User
If you wish to install the SDK as the root user, that's fine — but you must run the initialization script at least once as root, before you can use the SDK as an ordinary user. This is because configuration files are written into the $MESASDK_ROOT/etc directory on first initialization; and these files must be written as root if you installed as root.
Troubleshooting
If you encounter an error during the build process, please consult the FAQ first. If your problem is not resolved, then you should submit a bug report to the MESA Forum. Be sure to include the following information in your bug report:
- The version of MESA you are trying to build
- The version of the SDK you are using (use the mesasdk_version.sh command to determine this)
- Your platform (machine type, operating system, version)
Also, it would be helpful if you could post the output of the following commands:
- uname -a
- gfortran -v
- echo $MESASDK_ROOT
- echo $PATH
Frequently Asked Questions (FAQ)
Q: When trying to download the SDK using wget, I get the error
A: Our web server is set up to reject requests from wget. As a workaround, add the flag --user-agent=' to your wget invocation.
Q: How can I download the SDK from the command line?
A: Use the wget tool. For instance, to download the Linux version dated YYYYMMDD, run
(See the question above for a discussion of why the --user-agent=' flag is necessary.)
Q: The initialization script produces errors of the sort
A: This is occurring because you installed the SDK as a different user (e.g., root). You must run the initialization script at least once as the installation user, before running as any other user.
Q: When compiling, I'm encountering the error
A: To fix this, set the HDF5_USE_FILE_LOCKING environment variable to FALSE. This can be done via the command
Q: When compiling MESA on MacOS, I'm encountering the error
A: To fix this, uninstall and then re-install the Xcode command line tools via the commands
Then, re-install the SDK.
We maintain Siril binaries in many operating systems, but in general only for the official releases. If your operating system has no binary version or if you want to customize it, you will have to build it from source.
- 1Installing Siril from binaries
- 1.2Ubuntu & Linux Mint
- 1.3Mac OS X
- 2Installation from source
- 2.1Dependencies
- 2.7Installing on Mac OS X
Debian
The binary package is available on Debian testing and unstable.It should be installed via repositories, with superuser privileges:
Ubuntu & Linux Mint
Official repositories
PPA repositories
On Ubuntu 16.04 and Linux Mint 18.X, for a newer and less stable version that the one provided on official repositories, there is a PPA:
Mac OS X
Installation via Homebrew (recommended method since 0.9.5)
An official installer for Mac exists, see the download page. This is the way to install siril from source, to test the latest development version for example.
- Removing Siril from macport if exists
If Siril was already installed via macport, uninstall it (if not, go directly to next step):
It is also recommended to uninstall macports. To do it, visit this page: https://guide.macports.org/chunked/installing.macports.uninstalling.html
- Installation of Homebrew
More details are listed on Homebrew website: https://brew.sh/
First, install XCode via the App Store (free software) and install the command line tools by typing in a Terminal window:
Astrarun Mac Os X
Then, you can install Homebrew.
The script explains what it will do and then pauses before it does it.
- Installation of Siril
Copy the following line in the terminal :
- Updates
When a new version of Siril is available, copy this line to the terminal:
and download the new .app
file.
Enjoy!!
Installation from source is recommended if you want the latest features, if the past release is getting old or if you want to participate in improving Siril. Many users are reporting tweaks they would like, and we often implement them rapidly, so that would be one way to benefit from them. The other way is to use the Ubuntu PPA repository, which is updated with intermediate versions more often.
The sources are stored on a git repository, you can download them with this command the first time:
And update it the following times by typing git pull
in the base directory.
Below is a list of dependencies. Siril can be compiled either using autotools or meson. The autotools ways is well known in the unix world, once the source has been downloaded and the prerequisites have been installed, the general way to build it is as such:
possibly with superuser privileges.
You may want to pass specific options to the compiler, for example like that if you want optimisation and installation in /opt instead of the default /usr/local:
To launch Siril, the command name is siril
.
The other, newer (since version 0.99.4), way is to use meson and ninja:
Dependencies
Siril depends on a number of libraries, most of which should be available in your operating system if it is recent enough. The names of the packages specific to operating systems are listed in each section below. Mandatory dependencies are:
- gtk+3 (Graphical user interface library), at least version 3.20
- cfitsio (FITS images support)
- fftw (Discrete Fourier Transform library)
- gsl (The GNU Scientific Library), version 1 or 2 starting with release 0.9.1 or SVN revision 1040
- libconfig (Structured configuration files support)
- OpenCV and a C++ compiler for some image operations
- Exiv2 to manage image metadata.
- libjson-glib from GNOME, to parse JSON text for update checking and more soon.
Note: even if Siril can run in console since version 0.9.9, it is still linked against the graphical libraries, so you still need GTK+ to compile and run it.
Optional dependencies are:
- libraw, libtiff, libjpeg, libpng, libheif for RAW, TIFF, JPEG, PNG and HEIF images import and export. The libraries are detected at compilation-time.
- FFMS2 for film native support as image sequences. It also allows frames to be extracted from many kinds of film, for other purposes than astronomy. Versions < 2.20 have an annoying bug. It is recommended to install the latest version.
- ffmpeg (or libav), providing libavformat, libavutil (>= 55.20), libavcodec, libswscale and libswresample for mp4 sequence export
- libcurl for new Siril release checking online.
- gnuplot for photometry graph creation (not required at compilation time)
Build dependencies
Wall jumper (markusreynolds1989) mac os. To install from source, you will have to install the base development packages:
The compilers gcc and g++ from this list can be replaced by clang and clang++ (we use them for development), probably others as well.
The autotools packages (autoconf, automake, probably some others) can be replaced by meson.
Installing on Debian
For a desktop system, the next stable is probably the better choice, called Debian testing, currently version 10 with codename Buster. Otherwise, Siril should still work with Debian 8 Jessie and 9 Stretch. You may want to build a .deb package instead of using a non-packaged version, in that case see this help. In particular, to install dependencies, you can use the command:
Otherwise, here is the list of packages for the current version:
- Packages required for the build system:
- List of packages for mandatory dependencies:
- List of packages for optional dependencies:
for film input (AVI and others) support: libffms2-dev
.
Note that libtiff5 is incompatible with OpenCV in debian 7, in that case you need to install libtiff4 instead. And in debian 8, libjpeg8-dev
has been replaced by libjpeg62-turbo-dev
, which is also installed by libtiff5-dev
.
For debian 10 and siril 1.0, here's a complete list of packages to install to build from git (adding git, cmake, libexiv2-dev):
For the float branch, and soon the master, a submodule must be initialised before calling autogen:
Installing on Ubuntu & Linux Mint
A list of dependencies has been reported, for building the executable from source. Use the following command to install all of them:
- Ubuntu 14.04 & Linux Mint 17.X
- Ubuntu 16.04 & Linux Mint 18.X
- Ubuntu 18.04, 20.04 & Linux Mint 19.X (for Siril 0.99 and above)
Then proceed with the normal procedure:
Installing on Fedora
Then proceed with the normal procedure:
and, with superuser privileges
Installing on Arch Linux
Vincent maintains a release-based AUR package and a development version AUR package for Siril. Download the PKGBUILD or the repository, install dependencies, run makepkg to build the package and pacman -U to install it.
Installing on FreeBSD 10
The list of dependencies is basically the same as for other OS, below are a list for build dependencies and a list of Siril dependencies:
The only package not available as binary is ffms2, for film files handling, you will need to compile it from source.
Compilation and the software are working fine with the default clang (cc
) compiler. As clang 3.8 appeared in FreeBSD 10 with OpenMP support (clang38 in pkg), Siril can be compiled with it using the following configure command:
It is also possible to install gcc 4.8 or gcc 5 in FreeBSD. Make sure to link with the OS official compiler however, cc or c++ and not gcc or g++, otherwise the generated binary will be incorrect. That's also why the -lgomp
is required to link it:
Installing on Mac OS X
Deprecated method, via macport
Install XCode via the App Store (free software).
Install XQuartz via http://xquartz.macosforge.org/landing/ (free software)
Install the command line tools by typing in a Terminal window: xcode-select --install
Install the MacPorts software (free): http://www.macports.org (Follow the installation instructions on this site.)
The following is done in a Terminal window. One should first install some libraries:
Now we want to make available multithreading in cfitsio:In the following directory:
Edit the file:Portfile
Change the line
by
Then:
Also install some optional dependencies (recommanded):
Now you can manually install libjpeg
(if you want to work with JPEG files):
Now you can manually install giflib (if you want to be able to export GIF files) which is too old in macport:Download giflib sources at this url:
and put the file in your home directory Vegas style slots free play.
Install the ffms2 library which is not present in MacPorts. Download it here: https://github.com/FFMS/ffms2, in the ffms2 folder, type from the terminal:
Download the SIRIL sources:
In the terminal go to the siril folder:
Generate the configure file by typing:
To install Siril, use the usual:
Launch Siril:
Astrarun Mac Os Update
Enjoy!
Installing on Windows
These instructions are made for compiling on Windows with MSYS2 distribution using MinGW. MSYS2 requires 64 bit Windows 7 or newer, and does not work with FAT filesystems.
Download MSYS2 64bit, a software distribution and building platform for Windows and run the installer - 'x86_64' for 64-bit. When asked, specify the directory where MSYS2 64bit will be installed.
Run MSYS2 directly from the installer or later 'MSYS2 MinGW 64 bit' from Start menu or shortcut.
First, update the package database and core system packages by typing (for more info about pacman see this page):
pacman -Syu
Installing dependencies:Note: automake is the legacy (stable) build method, now being replaced by meson (experimental) build system. Lake charles la gambling.
Warning: meson will need a restart of MSYS2 to be usable.
Astrarun Mac Os Download
Also install some optional dependencies (recommended):
Astrarun Mac Os Catalina
Building Siril from source:
The source code is stored on a gitlab repository, you can download it with this command the first time:
In the terminal go to the siril folder:
Now, meson and ninja are the official way to build siril on Windows: Generate the build system and compile the code by typing:
To launch your build of Siril:
Run MSYS2 64bit and type siril's command name:
You can also create a shortcut to siril.exe to start it, the default location is /mingw64/bin/.
To update your version:
Run MSYS2 64bit then
If git pull does not show any change, there is no need to rebuild by running the make command. Otherwise, it will update your build.