HOWL STAR Mac OS
HOWL STAR Mac OS
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
Oct 05, 2020 Run STAR WARS: Squadrons on Mac with Parallels. Parallels is the virtualization software that allows you to launch Windows and STAR WARS: Squadrons on Mac OS with the help of virtualization. This program can be outlined for DirectX 11 support using Apple Metal. If your Mac is using a firmware password, the lock icon appears when you try to start up from another disk or volume, such as an external drive or macOS Recovery.Enter the firmware password to continue. I would welcome suggestions form anyone who has got a dongle working for D-STAR etc on Mac OS X. I am looking at the various options but have found not every piece of hardware claims a Mac version of its software. I do have a trial version of Windows 10 running in a virtual machine with Virtual Box if needs require. Thanks 73 Alistair 2E0LBX.
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.
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. 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 |
Mac Os Mojave
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
Howl Star Mac Os Download
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:
Mac Os Versions
- 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
Howl Star Mac Os 11
Then, re-install the SDK.
HOWL STAR Mac OS