# Revision of HOWTO build OpenMx from the source repository from Wed, 08/06/2014 - 17:31

Revisions allow you to track differences between multiple versions of your content, and revert back to older versions.

## OS X installation

Installing OpenMx from Source on OS X 10.9.2

1. Install xcode from the App Store
2. Run this command in a terminal window to get standard C libraries etc:
xcode-select install
3. Download OpenMx into a dierctory with the name OpenMx (or whatever you prefer)
cd OpenMx
cd trunk
5. Install roxygen2 package in R
6. Download HPC g++ gcc * gfortran 4.9 from hpc.sourceforge.net, change directory to whereever it downloaded, and install it in /usr/local/bin with sudo tar -xvf gcc-4.9-bin.tar -C /
7. Change to trunk directory of OpenMx repository
8. make install (which breaks but you can find the filename in step 8 to edit)
9. Edit the file /Library/Frameworks/R.framework/Resources/etc/Makeconf to replace the CLANG compilers with g++ gcc & gfortran
CC = /usr/local/bin/gcc
CXX = /usr/local/bin/g++
FC = /usr/local/bin/gfortran
F77 = /usr/local/bin/gfortran
10. Put the right version of libnpsol.a into the inst/osx subdirectory
11. make install

## Windows installation

A prerequisite for compiling OpenMx on Windows platforms is the Rtools Windows toolset. Download the latest version of Rtools from their website and run the installer. The Rtools installer does not add the R directory to your PATH environment variable. See here for help on setting the path in Windows 2000/XP. See here for help on setting the path in Windows Vista. The default R directory is placed in C:\Program Files\R\R-2.X.X\bin.

TortoiseSVN is a subversion graphical user interface that you may find helpful. Some tips: We recommend checking out the OpenMx repository into a folder that does not contain any spaces in its absolute path. If you receive a permission denied error when running "make install", follow the instructions on the R FAQ for Windows: I don't have permission to write to the R library directory.

In R 2.9.x and earlier, you need Microsoft's HTML Help Workshop in order to create R help files under Windows. After you have installed the software, add C:\Program Files\HTML Help Workshop to your PATH environment variable.

Now follow the instructions for the Unix installation.

## Unix installation

OpenMx should compile under any Unix with the GNU C compiler (See above for instructions on installing this if necessary). First you need to get the source.

#### SVN Source Archive

1. You will want to check out the repository to a local working copy, placed wherever you like, probably a directory such as
"~/Applications/bin"

or

"~/local/"
2. Next "Check out" the repository creating the local directory OpenMx if necessary:
cd ~/Applications/bin/
svn checkout --username   "http://openmx.psyc.virginia.edu/svn"   OpenMx

If don't have an account, leave out the --username argument.

3. After you have downloaded an initial working copy, SVN can keep this up to date with svn update.
  tinkerbell:OpenMx tim\$ svn update
A    trunk/docs/source/Factor1.png
U    trunk/docs/source/FactorModelPath.rst
D    trunk/models/passing/bivSat3.R


A = Added, U = Updated, D = Deleted
You can also check the status of your working copy

cd ~/Applications/bin/
svn status OpenMx  # learn if any changes have been made, including new files


* For a list of recent changes check out the ChangeLog file in the most recent distribution.

#### GIT Source Archive

Equivalently, there is a real-time mirror of the OpenMx subversion trunk located at Gitorius. To retrieve a read-only clone of the trunk, use:

git clone git://gitorious.org/openmx/openmx.git

cd (change directory) to the trunk directory, and make install

cd ~/OpenMx/trunk/
make install

Options for the make process are as follows:

make build # build a binary release of the OpenMx library for export.
make install # create the OpenMx library and tries to install it as an R library.
make check # create the OpenMx library and runs the R library checker.
make html # create the Sphinx documentation in the docs/build/html directory.  You will need to have the Sphinx package installed.
make pdf # create a pdf file in the build directory of the OpenMx documentation.
make clean # clean out the build subdirectory.  Sometimes you may need to run "make clean" if you get error messages with the other make build.
make test # run all the models in the demo and models/passing subdirectories.  The number of errors found will be reported (should be 0).


### Problems With make

1. Try make clean
2. Ensure your copy of the source is up-to-date (to your local copy's trunk directory, and update):
cd ~/OpenMx/trunk/
svn update
3. Checkout the repository again.
4. Make sure that you are building from the trunk directory.
5. Make sure you have all the R dependencies installed.
6. Last but not least, make sure that if you are building for multicore, the command R points to R64, not to plain 32-bit R. For example, if the command
which R

returns /usr/bin/R, and

ls - l /usr/bin/R

returns /usr/bin/R@ -> /Library/Frameworks/R.framework/Resources/bin/R it would be necessary to fix this with

sudo unlink /usr/bin/R
sudo ln -s /Library/Frameworks/R.framework/Resources/bin/R64 /usr/bin/R

Otherwise, you may encounter cryptic messages such as

Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/Library/Frameworks/R.framework/Versions/2.14/Resources/library/OpenMx/libs/i386/OpenMx.so':
Referenced from: /Library/Frameworks/R.framework/Versions/2.14/Resources/library/OpenMx/libs/i386/OpenMx.so
Expected in: dynamic lookup


### Buildbot

Commits to the source repository are automatically tested by our buildbot.

AttachmentSize
439.77 KB