# 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
<h2 id="Windowsinstallation">Windows installation</h2>

A prerequisite for compiling OpenMx on Windows platforms is the Rtools Windows toolset.  Download the latest version of Rtools from their <a class="ext-link" href="http://www.murdoch-sutherland.com/Rtools/"> website</a> and run the installer.  The Rtools installer does not add the R directory to your PATH environment variable.  See <a class="ext-link" href="http://www.computerhope.com/issues/ch000549.htm"> here</a> for help on setting the path in Windows 2000/XP. See <a class="ext-link" href="http://www.brightrev.com/how-to/windows/35-add-a-utilities-directory-to-your-pc.html?start=1"> here</a> 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.

<a class="ext-link" href="http://tortoisesvn.tigris.org/"> TortoiseSVN</a> 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: <a class="ext-link" href="http://cran.r-project.org/bin/windows/base/rw-FAQ.html#I-don_0027t-have-permission-to-write-to-the-R_002d2_002e9_002e0_005clibrary-directory"> I don't have permission to write to the R library directory</a>.

In R 2.9.x and earlier, you need <a class="ext-link" href="http://msdn.microsoft.com/en-us/library/ms669985.aspx"> Microsoft's HTML Help Workshop</a> 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.

<h2 id="Unixinstallation">Unix installation</h2>

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.

<h4 id="SVNSourceArchive">SVN Source Archive</h4>

<ol>
<li>You will want to check out the repository to a local working copy, placed wherever you like, probably a directory such as <pre>"~/Applications/bin"</pre> or <pre>"~/local/"</pre></li>
<li>Next "Check out" the repository creating the local directory OpenMx if necessary:<pre>cd ~/Applications/bin/


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

• 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.

</li>
</ol>
<h4>GIT Source Archive</h4>
Equivalently, there is a real-time mirror of the OpenMx subversion trunk located at <a class="ext-link" href="https://gitorious.org/openmx/openmx">Gitorius</a>. To retrieve a read-only clone of the trunk, use:
<pre class="wiki">git clone git://gitorious.org/openmx/openmx.git</pre>


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