OOF: Finite Element Analysis of Microstructures

OOF2 Installation Notes

Installation Notes for OOF2

[General] [SuSE Linux] [RedHat Linux] [Ubuntu Linux] [Macintosh OS X]



All Systems
  • On all platforms and versions of OOF2 earlier than 2.1.12, if you do not have swig version 1.1 build 883 installed, you will need to provide the --skip-swig argument to the build command, and will also need to build and install in one step, like this:

    python setup.py build --skip-swig [other build args] install [install args] 
    The README file for versions before 2.0.beta 8 did not make this clear.

    Also, before version 2.0.beta8, the python setup.py clean command would delete the swig output files. If you don't have swig 1.1 build 883, you'll have to extract these files from the distributed tar file in order to restore them.

  • If you're using Python 2.6 and are getting an error message about cross-compiling, a work-around seems to be to add the --plat-name argument to the oof2 build command. First, run this command to find out what your platform name is:
    python -c "from distutils import util;print util.get_platform()" 
    and add --plat-name=[name] to the build arguments. For example, on OS X,
    % python -c "from distutils import util;print util.get_platform()"
    macosx-10.4-i386
    % python setup.py build --plat-name=macosx-10.4-i386 [etc] 

SuSE Linux Use --blas-libraries="lapack blas gfortran m" as an argument to python setup.py build.
RedHat Linux Use --blas-libraries="lapack blas m" as an argument to python setup.py build. You may have to first install the lapack-devel and blas-devel packages.

Ubuntu
  • If you get a lot of messages like this:

    .../oof2-2.1.0/SRC/SWIG2D/image/oofimagecmodule.C:3281: undefined reference to `PyArg_ParseTuple'
    .../oof2-2.1.0/SRC/SWIG2D/image/oofimagecmodule.C:3284: undefined reference to `_Py_NoneStruct'
    .../oof2-2.1.0/SRC/SWIG2D/image/oofimagecmodule.C:3336: undefined reference to `PyEval_RestoreThread' 
    ending with this:
    build/temp.linux-i686-2.6-2d/shlib/liboof2common.so: undefined reference to `PyString_AsString'
    build/temp.linux-i686-2.6-2d/shlib/liboof2common.so: undefined reference to `PyGILState_Ensure'
    build/temp.linux-i686-2.6-2d/shlib/liboof2common.so: undefined reference to `PyErr_GivenExceptionMatches'
    collect2: ld returned 1 exit status
    error: command 'g++' failed with exit status 1 
    then you probably have GraphicsMagick installed instead of ImageMagick. Assuming that you used apt-get to install GraphicsMagick, you can fix it like this:
    apt-get remove graphicsmagick-libmagick-dev-compat
    apt-get install libmagick++-dev 

  • If you get an error message ending with

    KeyError: 'shlib' 
    when building OOF2 version 2.0.4 or 2.0.5 with Ubuntu 9.04, try using the --prefix argument to the install command, and running both build and install on the same line, like this:
    python setup.py build [options] install --prefix=/xxxx/yyyy 
    where /xxxx/yyyy is the topmost installation directory and [options] are optional build options (such as --skip-swig). Do this even if you are installing OOF2 in the default system location.


Macintosh OS X

The difficult parts of installing OOF2 on OS X are all in the installation of third party libraries, which is now discussed on the OOF2 Prerequisites page.