Difference between revisions of "Installation mac"

From relax wiki
Jump to navigation Jump to search
Line 21: Line 21:
 
  svn --version
 
  svn --version
 
  cd $HOME/Downloads
 
  cd $HOME/Downloads
 +
 
** To check out the relax_disp or trunk branch using the subversion client, simply type:
 
** To check out the relax_disp or trunk branch using the subversion client, simply type:
 
  svn co svn://svn.gna.org/svn/relax/branches/relax_disp relax_disp
 
  svn co svn://svn.gna.org/svn/relax/branches/relax_disp relax_disp

Revision as of 15:53, 9 August 2013

Installing the relax dependencies

The python-devel and scons packages are only required if the C modules need to be compiled for your system.
The Grace software is used for visualisation of 2D data sets.

The official way

The most reliable way to install relax on your system is to use the official Python releases. The steps are:

  • Python:
    • First check if you have the latest Python 2.7 installed, before installing the newest. Search in Spotlight for Terminal, and write here
which python
python --version
    • If needed, download the latest 2.7 version from the Official Python website.
    • This should be the DMG file labelled as Python 2.7.x Mac OS X 64-bit/32-bit x86-64/i386 Installer (for Mac OS X 10.6 and later).
    • Open the DMG file, double click on the Python.mpkg file, and follow the instructions.
    • The Python binary should now be located at /usr/local/bin/python. This is actually a symbolic link pointing to /Library/Frameworks/Python.framework/Versions/2.7/bin/python.
  • Check out a relax branch
which svn
svn --version
cd $HOME/Downloads
    • To check out the relax_disp or trunk branch using the subversion client, simply type:
svn co svn://svn.gna.org/svn/relax/branches/relax_disp relax_disp
svn co svn://svn.gna.org/svn/relax/trunk relax_trunk
    • If this svn command does not work, try:
svn co http://svn.gna.org/svn/relax/branches/relax_disp relax_disp
svn co http://svn.gna.org/svn/relax/trunk relax_trunk
* Numpy:
    • First check if you have numpy installed in the current python installation.
python
import numpy
numpy.__version__; numpy.__file__
# Exit python with: Ctrl+d
    • If needed, download the latest Numpy DMG file from the sourceforge download site.
    • This should be the DMG file numpy-1.x.x-py2.7-python.org-macosx10.x.dmg.
    • Open the DMG file, double click on the numpy-1.x.x-py2.7.mpkg file, and follow the instructions.
  • Scipy: Download the latest Scipy DMG file from the sourceforge download site.
    • This should be the DMG file scipy-0.xx.x-py2.7-python.org-macosx10.3.dmg.
    • Open the DMG file, double click on the scipy-0.xx.x-py2.7.mpkg file or equivalent, and follow the instructions.
  • wxPython: Download the wxPython Development 2.9 DMG file from the official wxPython website.
    • The link should be called wxPython2.9-osx-cocoa-py2.7.
    • Open the DMG file, double click on the wxPython2.9-osx-cocoa-py2.7.pkg file, and follow the instructions.
  • Mpi4py: This is for running on multi-processor machines, for the analyses in relax which support it. Download the file from the mpi4py download site.
    • Note, this will require an up to date version of XCode installed on your system, as the code will be compiled.
    • Download the file labelled as mpi4py-1.x.x.tar.gz.
    • Open this through the Finder to unpackage the archive into the ~/Downloads/mpi4py-1.x.x/ directory.
    • Open a terminal and type, replacing the x's with the current version, the following to get into the correct directory:
      $ cd ~/Downloads/mpi4py-1.x.x
      
    • Then to be sure the correct Python version is being used, type:
      $ sudo /Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install
      
  • SCons: This is required to build the relax C modules. Download the file form the SCons download site.
    • Download the file called scons-2.x.x.tar.gz.
    • Open this through the Finder to unpackage the archive into the ~/Downloads/scons-2.x.x/ directory.
    • Open a terminal and type, replacing the x's with the current version, the following to get into the correct directory:
      $ cd ~/Downloads/scons-1.x.x
      
    • Then to be sure the correct Python version is being used, type:
      $ sudo /Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install
      
    • This will install scons into /usr/local/bin/scons.
    • To compile the C modules, the minfx package must be installed first. Please see below.
    • You may still have 'minfx' installation problems when compiling the C modules if multiple Python version are present. So it is recommended to open the /usr/local/bin/scons file and change the first line from /usr/bin/env python to /usr/local/bin/python so that the correct Python version is used. Alternatively you change your PATH environmental variable to have /usr/local/bin/ at the start. SCons is always an issue when multiple Python versions are installed.

Multiple Python versions

For more details, see Multiple Python versions.

Now you will need to check that the correct Python and SCons versions are used when running relax or compiling the C modules. This can be checked by typing the following:

$ sudo /usr/libexec/locate.updatedb
$ which python
$ locate python | grep '\/python$\|\/python...$' | grep bin | xargs ls -alh
$ which scons
$ locate scons | grep '\/scons$' | grep bin | xargs ls -alh

The first command updates the locate database, the which commands show which version of Python and SCons will be executed if python or scons are typed at the prompt, and the locate commands will show all installed versions of Python and SCons.

macports

Not explained yet. Please provide your solution, if you know it.

fink

Not explained yet. Please provide your solution, if you know it

homebrew

See this email thread.

Download and install Apple's Xcode. Install the "Command Line Tools" from inside Xcode. Install Homebrew by typing into your Terminal:

ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

Install python 2.7 including pip package manager, scons for relaxation compiling and wxPython for a native Mac GUI:

brew install python scons wxmac

Install numpy via pip (don't install scipy, as it causes problems with scons!)

pip install numpy

Minfx and Bmrblib

Remember to check if there are newer versions of minfx and bmrblib.
The minfx and bmrblib libraries can be installed on all Linux systems by typing:

wget http://download.gna.org/minfx/minfx-1.0.5.tar.gz
tar -xzf minfx-1.0.5.tar.gz
cd minfx-1.0.5
python setup.py install
cd ..

wget http://download.gna.org/bmrblib/bmrblib-1.0.3.tar.gz
tar -xzf bmrblib-1.0.3.tar.gz
cd bmrblib-1.0.3
python setup.py install
cd ..

Note that if you have multiple Python versions, the correct one must be specified. It is best to use the full Python path, for example:

/Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install

Testing the Python installation

Before installing relax, it is best to be sure that the Python modules are functional by importing them:

$ python
Python 2.6.6 (r266:84292, Oct 12 2012, 14:23:48)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2

>>> import wx
>>> wx.__file__
'...'

>>> import bmrblib
>>> bmrblib.__file__
'...'

>>> import minfx
>>> minfx.__file__
'...'

Checking out a relax branch

If you would like to play with relax branch rather than the main relax downloads, the Subversion program should first be installed.
You can see the different branches here.
First the relax sources can be checked out of the source code repository and the C modules compiled:

cd /usr/local/
svn co svn://svn.gna.org/svn/relax/branches/relax_disp relax_disp
cd relax_disp
scons

# Optional building of the user manual, if a LaTeX installation is available.
scons user_manual_pdf

If the svn command does not work, try:

svn co http://svn.gna.org/svn/relax/branches/relax_disp relax_disp


Add relax to path

cd /usr/local/bin
ln -s /usr/local/relax_disp/relax .

Restart the terminal, to load the new variables.

Start relax in GUI mode

relax -g

TEST INSTALLATION

After an installation you should really run an Installation_test

See also