Difference between revisions of "Installation mac"

From relax wiki
Jump to navigation Jump to search
(→‎Check out a relax branch: Transclusion of the {{historical svn}} template.)
 
(27 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
How to install relax on Mac OS X systems.
 +
 
== Installing the relax dependencies ==
 
== Installing the relax dependencies ==
  
Line 19: Line 21:
  
 
=== Check out a relax branch ===
 
=== Check out a relax branch ===
 +
{{historical svn}}
 
You can see the different relax branches [http://svn.gna.org/viewcvs/relax/ here.]. '''Subversion''' is necessary, and should be shipped with [ http://subversion.apache.org/packages.html#osx OS X].
 
You can see the different relax branches [http://svn.gna.org/viewcvs/relax/ here.]. '''Subversion''' is necessary, and should be shipped with [ http://subversion.apache.org/packages.html#osx OS X].
 
<source lang="bash">
 
<source lang="bash">
Line 25: Line 28:
 
cd $HOME/Downloads
 
cd $HOME/Downloads
 
</source>
 
</source>
To check out the relax_disp or trunk branch using the subversion client, simply type:
+
To check out trunk using the subversion client, simply type:
 
<source lang="bash">
 
<source lang="bash">
 
svn co svn://svn.gna.org/svn/relax/trunk relax_trunk
 
svn co svn://svn.gna.org/svn/relax/trunk relax_trunk
svn co svn://svn.gna.org/svn/relax/branches/relax_disp relax_disp
 
 
</source>
 
</source>
 
If this svn command does not work, try:
 
If this svn command does not work, try:
 
<source lang="bash">
 
<source lang="bash">
 
svn co http://svn.gna.org/svn/relax/trunk relax_trunk
 
svn co http://svn.gna.org/svn/relax/trunk relax_trunk
svn co http://svn.gna.org/svn/relax/branches/relax_disp relax_disp
 
 
</source>
 
</source>
  
=== SCons ===  
+
=== SCons - building relax===  
 
This is required to build the relax C modules.  Download the file form the [http://www.scons.org/download.php SCons download site].
 
This is required to build the relax C modules.  Download the file form the [http://www.scons.org/download.php SCons download site].
 
** Download the file called '''scons-2.x.x.tar.gz'''. <br>
 
** Download the file called '''scons-2.x.x.tar.gz'''. <br>
Line 42: Line 43:
 
** Open a terminal and type, replacing the x's with the current version, the following to get into the correct directory:
 
** Open a terminal and type, replacing the x's with the current version, the following to get into the correct directory:
 
<source lang="bash">
 
<source lang="bash">
$ cd ~/Downloads/scons-1.x.x
+
cd $HOME/Downloads/scons-2.x.x
 +
</source>
 +
Then compile by:
 +
<source lang="bash">
 +
sudo python setup.py install
 +
</source>
 +
If you have several Python versions, then compile with the wished python interpreter by typing:
 +
<source lang="bash">
 +
sudo /Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install
 +
</source>
 +
This should install scons into '''/usr/local/bin/scons'''. <br>
 +
<source lang="bash">
 +
which scons
 +
</source>
 +
 
 +
=== First try to build relax ===
 +
To compile the C modules in relax, several packages must be in place, including the minfx package.<br>
 +
But we can just try to build relax now, and then solve the dependencies.
 +
<source lang="bash">
 +
cd $HOME/Downloads/relax_trunk
 +
# Then build
 +
scons
 
</source>
 
</source>
Then to be sure the correct Python version is being used, type:
+
You should get the message: '''The dependency 'minfx' has not been installed'''
 +
 
 +
=== Minfx and Bmrblib ===
 +
 
 +
# [[Minfx#Install | Minfx]]
 +
# [[Bmrblib#Install | Bmrblib]]
 +
 
 +
Let's try to build again
 
<source lang="bash">
 
<source lang="bash">
$ sudo /Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install
+
cd $HOME/Downloads/relax_trunk
 +
scons
 
</source>
 
</source>
This will install scons into '''/usr/local/bin/scons'''. <br>
+
If you get the message '''-bash: gcc: command not found''', you need to install [https://developer.apple.com/xcode/ Apple Xcode].
To compile the C modules, the minfx package must be installed first.  Please see below.<br>
 
You may still have 'minfx' installation problems when compiling the C modules if multiple Python version are present.  <br>
 
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.<br>
 
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.
 
  
 
=== Numpy ===
 
=== Numpy ===
Line 91: Line 117:
  
 
=== Mpi4py ===
 
=== Mpi4py ===
This is for running on multi-processor machines, for the analyses in relax which support it.  Download the file from the [https://code.google.com/p/mpi4py/downloads/list mpi4py download site]. <br>
+
{{note|This will require an up to date version of XCode installed on your system, as the code will be compiled.}}
Note, this will require an up to date version of XCode installed on your system, as the code will be compiled.<br>
+
 
Download the file labelled as '''mpi4py-1.x.x.tar.gz'''.<br>
+
This is for running on multi-processor machines, for the analyses in relax which support it.
Open this through the Finder to unpackage the archive into the '''~/Downloads/mpi4py-1.x.x/''' directory.<br>
+
 
Open a terminal and type, replacing the x's with the current version, the following to get into the correct directory: <source lang="bash">$ cd ~/Downloads/mpi4py-1.x.x </source><br>
+
# [[Mpi4py#Install | Mpi4py]]
Then to be sure the correct Python version is being used, type:
+
 
 
<source lang="bash">
 
<source lang="bash">
 
$ sudo /Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install
 
$ sudo /Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install
Line 119: Line 145:
 
  pip install numpy
 
  pip install numpy
  
== Minfx and Bmrblib ==
+
=== Minfx and Bmrblib ===
  
Remember to check if there are newer versions of [http://download.gna.org/minfx minfx] and [http://download.gna.org/bmrblib bmrblib]. <br>
+
# [[Minfx#Install | Minfx]]
The [https://gna.org/projects/minfx/ minfx] and [https://gna.org/projects/bmrblib/ bmrblib] libraries can be installed on all Linux systems by typing:
+
# [[Bmrblib#Install | Bmrblib]]
<source lang="bash">
 
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 ..
 
</source>
 
  
 
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:
 
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:
Line 151: Line 164:
  
 
>>> import wx
 
>>> import wx
>>> wx.__file__
+
>>> wx.__version__; wx.__file__
 
'...'
 
'...'
  
 
>>> import bmrblib
 
>>> import bmrblib
>>> bmrblib.__file__
+
>>> bmrblib.__version__; bmrblib.__file__
 
'...'
 
'...'
  
 
>>> import minfx
 
>>> import minfx
>>> minfx.__file__
+
>>> minfx.__version__; minfx.__file__
 
'...'
 
'...'
 
</source>
 
</source>
  
== Checking out a relax branch ==
+
== Test Installation ==
If you would like to play with relax branch rather than the main [http://www.nmr-relax.com/download.html relax downloads], the [http://subversion.tigris.org/ Subversion] program should first be installed. <br>
+
{{tip|After an installation you should really run an [[Installation_test]]}}
You can see the different branches [http://svn.gna.org/viewcvs/relax/ here.] <br>
 
First the relax sources can be checked out of the source code repository and the C modules compiled:
 
<source lang="bash">
 
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
 
</source>
 
 
 
If the svn command does not work, try:
 
<source lang="bash">
 
svn co http://svn.gna.org/svn/relax/branches/relax_disp relax_disp
 
</source>
 
 
 
=== Add relax to path ===
 
<source lang="bash">
 
cd /usr/local/bin
 
ln -s /usr/local/relax_disp/relax .
 
</source>
 
Restart the terminal, to load the new variables.
 
 
 
Start relax in GUI mode
 
<source lang="bash">
 
relax -g
 
</source>
 
 
 
== TEST INSTALLATION ==
 
After an installation you should really run an [[Installation_test]]
 
  
 
== Trouble shooting ==
 
== Trouble shooting ==
Line 211: Line 193:
 
</source>
 
</source>
 
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.
 
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.
 +
 +
You may still have 'minfx' installation problems when compiling the C modules if multiple Python version are present.  <br>
 +
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.<br>
 +
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.
  
 
== See also ==
 
== See also ==
 
[[Category:Installation]]
 
[[Category:Installation]]

Latest revision as of 11:49, 27 October 2017

How to install relax on Mac OS X systems.

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

Caution  The information in this section is out of date but is kept for historical reasons. The relax source code is now hosted in a git rather than svn repository.

You can see the different relax branches here.. Subversion is necessary, and should be shipped with [ http://subversion.apache.org/packages.html#osx OS X].

which svn
svn --version
cd $HOME/Downloads

To check out trunk using the subversion client, simply type:

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/trunk relax_trunk

SCons - building relax

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 $HOME/Downloads/scons-2.x.x

Then compile by:

sudo python setup.py install

If you have several Python versions, then compile with the wished python interpreter by typing:

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

This should install scons into /usr/local/bin/scons.

which scons

First try to build relax

To compile the C modules in relax, several packages must be in place, including the minfx package.
But we can just try to build relax now, and then solve the dependencies.

cd $HOME/Downloads/relax_trunk
# Then build
scons

You should get the message: The dependency 'minfx' has not been installed

Minfx and Bmrblib

  1. Minfx
  2. Bmrblib

Let's try to build again

cd $HOME/Downloads/relax_trunk
scons

If you get the message -bash: gcc: command not found, you need to install Apple Xcode.

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

First check if you have scipy installed in the current python installation.

python
import scipy
scipy.__version__; scipy.__file__
# Exit python with: Ctrl+d

If needed, 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

First check if you have wxPzthon installed in the current python installation.

python
import wx
wx.__version__; wx.__file__
# Exit python with: Ctrl+d

If needed, 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

Note  This will require an up to date version of XCode installed on your system, as the code will be compiled.

This is for running on multi-processor machines, for the analyses in relax which support it.

  1. Mpi4py
$ sudo /Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install

Use of repositories

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

  1. Minfx
  2. Bmrblib

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.__version__; wx.__file__
'...'

>>> import bmrblib
>>> bmrblib.__version__; bmrblib.__file__
'...'

>>> import minfx
>>> minfx.__version__; minfx.__file__
'...'

Test Installation

Tip  After an installation you should really run an Installation_test

Trouble shooting

Multiple Python versions

For more details, see Multiple Python versions.

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.

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.

See also