Difference between revisions of "BBP on OS X Guide"

From SCECpedia
Jump to navigationJump to search
Line 11: Line 11:
 
* Currently, the SDSU BBToolbox software is not compatible with the Mac environment. The code will crash and as a result the SDSU method does not pass all Unit tests when compiled on a Mac. This is a known, Mac-specific issue. The SDSU method passes all tests in the target Linux environment. We will provide a resolution to this know limitation of the Mac-version of the BBP, as soon as one is available.
 
* Currently, the SDSU BBToolbox software is not compatible with the Mac environment. The code will crash and as a result the SDSU method does not pass all Unit tests when compiled on a Mac. This is a known, Mac-specific issue. The SDSU method passes all tests in the target Linux environment. We will provide a resolution to this know limitation of the Mac-version of the BBP, as soon as one is available.
  
== Method 1: Installation using Mac Ports ==
+
== BBP 15.3.0 Installation on Mac OS X ==
 +
 
 +
This section describes the installation of the BBP 15.3.0 distribution on Mac OS X using a package management tool called Mac Ports. Mac Ports simplifies the installation process by automating several of the installation steps, but it will require administrator access unless you want to install it from the source (a few extra steps that we will not cover in this guide). If you prefer not to use Mac Ports, you can follow the directions provided by one developer who installed BBP 15.3.0 without using Mac Ports. Details are provided in the [[BBP_on_OS_X_Guide_Without_Mac_Ports]] page.
  
 
This method uses Mac Ports, a software tool designed help install software on a Mac. The steps below describe alternative way to install the BBP on a Mac running Mac OS X Mavericks and Yosemite. Mac Ports helps you install all the needed Python and GNU packages on your Mac. Please note that you only need to follow on of the methods. If you decide to use Method 1: Mac Ports, you do not need to do anything in Method 2 and vice-versa.  
 
This method uses Mac Ports, a software tool designed help install software on a Mac. The steps below describe alternative way to install the BBP on a Mac running Mac OS X Mavericks and Yosemite. Mac Ports helps you install all the needed Python and GNU packages on your Mac. Please note that you only need to follow on of the methods. If you decide to use Method 1: Mac Ports, you do not need to do anything in Method 2 and vice-versa.  
Line 44: Line 46:
 
# Compile the Broadband Platform by going into the src directory and typing "make"
 
# Compile the Broadband Platform by going into the src directory and typing "make"
 
# Continue the Installation Instructions on [[Broadband_User_Guide_v15.3.0#User_Account_Setup|Broadband User Guide v15.3.0]]
 
# Continue the Installation Instructions on [[Broadband_User_Guide_v15.3.0#User_Account_Setup|Broadband User Guide v15.3.0]]
 
== Method 2: Installation Without Mac Ports ==
 
 
This method does not require the use of Mac Ports. If you use the steps below, you don't need to follow the steps for the Method 1 above.
 
 
=== Installation on Mac Yosemite ===
 
 
The following section describes one developers experiences installing Broadband Platform on their Mac running Yosemite OS. Here is the list of steps that we went through to successfully install and run BBP v15.3 on a Macbook Pro with 16GB Ram and 10GB of disk space running OS X v10.10.3 (Yosemite).
 
 
<ol>
 
<li>The default Mac python does not include all the required scientific Python modules. For a well-integrated collection of scientific python modules for a Mac, we installed Anaconda Python:
 
*http://docs.continuum.io/anaconda/install.html</li>
 
<li>Evaluate the Mac command line environment. Bring up terminal, and run "env" and "which python":<br /><pre>
 
$ env
 
TERM_PROGRAM=Apple_Terminal
 
SHELL=/bin/bash
 
TERM=xterm-256color
 
TERM_PROGRAM_VERSION=343.7
 
TERM_SESSION_ID=177D5090-D37D-4EFD-998D-9290C7DD789B
 
USER=maechlin
 
PATH=/Users/maechlin/anaconda/bin:/opt/local/gmt/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
 
PWD=/Users/maechlin
 
LANG=en_US.UTF-8
 
XPC_FLAGS=0x0
 
XPC_SERVICE_NAME=0
 
SHLVL=1
 
HOME=/Users/maechlin
 
PYTHONPATH=/Users/maechlin/anaconda/lib
 
 
and
 
 
$ which python
 
/Users/maechlin/anaconda/bin/python
 
</pre></li>
 
 
<li>Check Xcode on Mac Yosemite, the latest version is Xcode Version 6.3</li>
 
 
<li>Update the Mac Python installation. Use Anaconda because it includes many of the packages, such as numpy and matplotlib that are required by the BBP. Also, this version can be installed without root access, which I did in my Mac account user Maechlin
 
*https://store.continuum.io/cshop/anaconda/</li>
 
<li>At command line which gcc, gcc -v<pre>
 
$ which gcc
 
/usr/bin/gcc
 
 
$ gcc -v
 
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
 
Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
 
Target: x86_64-apple-darwin14.3.0
 
Thread model: posix
 
</pre></li>
 
 
<li>A BBP Issue is that Xcode does not install a gcc fortran compiler. Details to install fortran:
 
*https://wiki.helsinki.fi/display/HUGG/Installing+the+GNU+compilers+on+Mac+OS+X
 
Download the gcc compiler for Yosemite to the downloads direction. Then run as sudo to install gcc and gfortran.<pre>
 
gunzip gcc-4.9-bin.tar.gz
 
sudo tar xvf gcc-4.9-bin.tar -C /
 
</pre>
 
This installs things in root, in /usr/local/…</li>
 
 
<li>Install pyproj
 
*https://github.com/jswhit/pyproj
 
Go to pyproj, download, build and install<pre>
 
python setup.py build
 
python setup.py install (with sudo if necessary).
 
</pre>
 
To test, run python -c "import pyproj; pyproj.test()"
 
</li>
 
 
<li>Continue the Installation Instructions on [[Broadband_User_Guide_v15.3.0#User_Account_Setup|Broadband User Guide v15.3.0]]
 
</li>
 
  
 
== Potential Additional Steps ==
 
== Potential Additional Steps ==

Revision as of 16:22, 11 June 2015

Introduction

The Broadband Platform is compatible with Linux as well as OS X. However, due to some recent changes that Apple has made to their Xcode development tools, users on Mavericks (OS X 10.9) and Yosemite (OS X 10.10) will need to follow some additional steps to make the installation work. There are several installation issues or limitations related to the BBP on a Mac. The primary target operating system for BBP is Linux. Mac's OS is somewhat different environment, so installation on a Mac is a bit more complex.

The key Mac OS X-specific issues include:

  • Mac must have a full Python installation that includes NumPy, SciPy, matplotlib and other packages
  • Mac must have a gcc compiler environment, obtained through the XCODE software
  • Mac must have a gcc fortran compiler installed, not available in XCODE. If you follow the instructions given in the Mac Ports section below, it will required administrator account privileges because these will be required to install the fortran compiler in the default location.
  • Mac must have specialized Python language geographic project module pyproj installed
  • Currently, the SDSU BBToolbox software is not compatible with the Mac environment. The code will crash and as a result the SDSU method does not pass all Unit tests when compiled on a Mac. This is a known, Mac-specific issue. The SDSU method passes all tests in the target Linux environment. We will provide a resolution to this know limitation of the Mac-version of the BBP, as soon as one is available.

BBP 15.3.0 Installation on Mac OS X

This section describes the installation of the BBP 15.3.0 distribution on Mac OS X using a package management tool called Mac Ports. Mac Ports simplifies the installation process by automating several of the installation steps, but it will require administrator access unless you want to install it from the source (a few extra steps that we will not cover in this guide). If you prefer not to use Mac Ports, you can follow the directions provided by one developer who installed BBP 15.3.0 without using Mac Ports. Details are provided in the BBP_on_OS_X_Guide_Without_Mac_Ports page.

This method uses Mac Ports, a software tool designed help install software on a Mac. The steps below describe alternative way to install the BBP on a Mac running Mac OS X Mavericks and Yosemite. Mac Ports helps you install all the needed Python and GNU packages on your Mac. Please note that you only need to follow on of the methods. If you decide to use Method 1: Mac Ports, you do not need to do anything in Method 2 and vice-versa.

OS X 10.9 Mavericks using MacPorts

Installing OS X on Mavericks is possible by following these steps:

  1. Install Xcode from the Mac App Store
  2. Install the Xcode command line tools. To do this, in your Terminal window, please type:
    $ sudo xcode-select --install
    A dialog box will pop-up asking if you want to install the command line tools. Please choose "OK" on this box.
  3. Accept Xcode license by typing:
    $ sudo xcodebuild -license
    Scroll to the end and then type 'agree'.
  4. Then install MacPorts from http://www.macports.org. MacPorts helps install the requirements to compile the Broadband Platform. The version of MacPorts we used was 2.3.3, please make sure you install the package for OS X 10.9 Mavericks
  5. Install GCC 4.8 using the following command:
    $ sudo port install gcc48
  6. ​​​​ Select the new compiler as the default compiler using the command:
    $ sudo port select gcc mp-gcc48
  7. Install the PIP package manager for Python, using the command:
    $ sudo easy_install pip
  8. Install PyProj, using the command:
    $ sudo pip install pyproj
  9. Compile the Broadband Platform by going into the src directory and typing "make"
  10. Continue the Installation Instructions on Broadband User Guide v15.3.0

OS X 10.10 Yosemite using MacPorts

In order to install the Broadband Platform on Yosemite, you must follow these steps:

  1. Install Xcode from the Mac App Store
  2. Install the Xcode command line tools. To do this, in your Terminal window, please type:
    $ sudo xcode-select --install
    A dialog box will pop-up asking if you want to install the command line tools. Please choose "OK" on this box.
  3. Accept Xcode license by typing:
    $ sudo xcodebuild -license
    Scroll to the end and then type 'agree'.
  4. Then install MacPorts from http://www.macports.org. MacPorts helps install the requirements to compile the Broadband Platform. The version of MacPorts we used was 2.3.3, please make sure you select the package for OS X 10.10 Yosemite
  5. Install GCC 4.9 using the following command:
    $ sudo port install gcc49
  6. Select the new compiler as the default compiler using the command:
    $ sudo port select gcc mp-gcc49
  7. Install the PIP package manager for Python, using the command:
    $ sudo easy_install pip
  8. Install PyProj, using the command:
    $ sudo pip install pyproj
  9. Compile the Broadband Platform by going into the src directory and typing "make"
  10. Continue the Installation Instructions on Broadband User Guide v15.3.0

Potential Additional Steps

One developer needed to run the following commands to make the Mac installation work. These are not needed on a clean installation but could be required to repair or upgrade an existing Mac OS X setup.

  • export PYTHONPATH=/Library/Python/2.7/site-packages/:$PYTHONPATH
  • sudo pip install scipy --upgrade
  • sudo pip install numpy --upgrade
  • sudo pip install matplotlib --upgrade

Related Entries