Blog
Learning by doing.
How to Compile STREAMER on Mac OSX?
Feb 24, 2015
• Mac
• Tags:
Mac
Compiling
AOS
Intro
This is a tutorial about how to compile STREAMER, a radiative transfer model, for the STREAMER project in course AOS 640 taught by Prof. Grant Petty.
Note
In case my domain changes, below is the long-term URL for this post:
http://fzhu2e.github.io/blog/mac/how-to-compile-streamer-on-mac-osx.html
Step 1. Check if the “Xcode command line tools” is installed.
Open the terminal and type in:
xcode-select --install
If we haven’t installed the tools, a prompt will poped out and just click “install”.
NOTE:
-
We don’t have to install the whole package of “Xcode”, we just need the “command line tools”.
-
The root authority is needed.
To verify the installation:
xcode-select -p
If the terminal returns as below, then we have installed successfully.
/Applications/Xcode.app/Contents/Developer
Step 2. Get the latest version of GCC.
Mac OS X should be installed with GCC as default, I haven’t checked if that is OK for our compiling task (should be OK).
I compiled with the latest versioin of gfortran
, which is bundled in the GCC package.
I recommend you guys a lovely package manager called “Homebrew”. We can conveniently install the latest version of GCC by it.
To install “Homebrew”:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
NOTE: The admin authority is needed by default. Alternatively, we can install it under our home directory.
Then install the latest version of GCC by:
brew update
brew install gcc
Edit the ~/.bash_profile
(for Bash users) or ~/.zshrc
(for Zsh users), add the PATH for GCC, for example:
export PATH=/usr/local/Cellar/gcc/4.9.2_1/bin:$PATH
export DYLD_LIBRARY_PATH=/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9:$DYLD_LIBRARY_PATH
Then make soft links as
ln -sf /usr/local/Cellar/gcc/4.9.2_1/bin/gcc-4.9 /usr/local/Cellar/gcc/4.9.2_1/bin/gcc
ln -sf /usr/local/Cellar/gcc/4.9.2_1/bin/g++-4.9 /usr/local/Cellar/gcc/4.9.2_1/bin/g++
ln -sf /usr/local/Cellar/gcc/4.9.2_1/bin/c++-4.9 /usr/local/Cellar/gcc/4.9.2_1/bin/c++
ln -sf /usr/local/Cellar/gcc/4.9.2_1/bin/cpp-4.9 /usr/local/Cellar/gcc/4.9.2_1/bin/cpp
ln -sf /usr/local/Cellar/gcc/4.9.2_1/bin/gfortran-4.9 /usr/local/Cellar/gcc/4.9.2_1/bin/gfortran
Note that 4.9.2_1
is the version I used, and it may not be the one you are
using, so please check the version number and make sure the paths you typed in do exist.
Then source
the file you just editted:
source ~/.bash_profile
or
source ~/.zshrc
To verify the installation of GCC, in the terminal we type in:
gcc -v
we can get the return and know the version number.
Also, we can verify the gfortran
:
gfortran -v
Actually, gfortran
is what we need to compile the STREAMER program.
Step 3. Edit the Makefile
under the STREAMER progs
directory and compile.
Once we have installed gfortran
, we are ready to compile the STREAMER program on OS X.
First download the tarball of STREAMER,
wget ftp://stratus.ssec.wisc.edu/pub/streamer/streamer.tar
wget
is a command line download tool.
If it has not been installed yet, we can install it by:
brew install wget
Then we untar the tarball,
tar -xvf streamer.tar
We will see a directory called progs
, cd into it
cd progs
and we will see some makefiles.
Copy the Makefile.osx
as Makefile
:
cp Makefile.osx Makefile
Then modify the value of the variable FC
from g77
to gfortran
.
Now compile the program by typing in the below command in the terminal
make
If the compiling is successful, we will get an executable file named as streamer
under the progs
directory.
What questions do you have?
If you have any questions, feel free to contact me ([email protected]). ; )