Osx 10.8

Tips for building VisIt on OSX 10.8 (Mountain Lion)

Build Env

After you have XCode installed, make sure to install the command line tools.

(Xcode -> Preferences: Downloads Tab)

Xcode-4-4-cl-tools.png


OpenMPI

Starting with 10.7, apple dropped out of the box support for OpenMPI.

Here is how you can build openmpi 1.6 w/ clang:

env CXX=clang++ CC=clang ./configure --disable-mpi-f77 --disable-mpi-f90 --enable-mpirun-prefix-by-default --prefix=<dest_path>
make
make install
  • Be sure that you add the destination path to your path so programs like mpicc will be located when you run on the command line.

build_visit

  • Use Qt 4.8.3, build with gcc
  • Qt 4.7.4 doesn't support 10.8
  • Qt 4.8.2 will build on 10.8 with a patch
  • Exodus failed to build (looks like a NETCDF linking problem - check if NETCDF is 64-bit)
    • Brad's 10.8 machine did not have this problem
     _get_netcdf_type in libnetcdf.a(nc4file.o)
     _nc4_rec_read_vars in libnetcdf.a(nc4file.o)
     _nc_open_file in libnetcdf.a(nc4file.o)
     _nc_create_file in libnetcdf.a(nc4file.o)
     _nc4_reopen_dataset in libnetcdf.a(nc4var.o)
     _write_netcdf4_dimid in libnetcdf.a(nc4hdf.o)
     _nc4_get_vara in libnetcdf.a(nc4hdf.o)
     ...
ld: symbol(s) not found for architecture x86_64
Command for building thirdparty libs (in progress)
env PAR_COMPILER=/usr/local/bin/mpic++ CXX=clang++ CC=clang build_visit \
 --svn \
 --console \
 --parallel \
 --thirdparty-path <lib_dest_path> \
 --makeflags "-j4" --no-visit --no-mesa --system-qt --pyside --all-io --hdf4 --no-mili --no-itaps

Running the test suite

A key issue with running the test suite is having Python Imaging Library (PIL) installed (to the installation of python VisIt is installed with). I tried downloading PIL 1.1.7 and it compiled and built fine but VisIt's test suite would nonetheless fail to load certain parts of PIL. After manually attempting to do a few things with the installation of PIL 1.1.7 I was using, I discovered the _imaging.so library was unable to find jpeg symbols. Google has a lot of stuff on this issue but, alas, none of it really applied to the situation I was having on my Mac 10.8.3 laptop. I re-ran PIL's setup.py build_ext -i command for building PIL but cat'd all the output to a file and then examined what it was doing closely. The problem I was having was that there was a libjpeg in /sw/lib but for a different architecture type than what PIL was building itself for (x86_64). However, my system did have a correct jpeg library (and freetype library) in /opt/local. So, I manually edited PIL's setup.py file to eliminate references to '/sw/lib' and that fixed this problem. I was able to install PIL to the python installation VisIt was built with (via build_visit) and run the test suite. At present, the only problem seems to be that I cannot set the output image size for the tests to 300x300 which is what all the baselines are stored at.