MXADataModel Documentation
APIs for the Programmer
 

Required Libraries

These are the required libraries that need to be either compiled or present on the system that is using the MXADataModel.
  • CMake - Compile or otherwise install on your system.
  • HDF5 version 1.6.9 - This is the latest stable production version. When the next version is released the MXA code base will be updated. You can download version 1.6.8 from our git server here. Currently the MXA Data Model does NOT employ the inline compression available in the HDF5 library. Because of this, you will NOT need to have 'szip' installed on your system. You only need the HDF5 library compiled and installed. Some platforms prefer the static libraries, some prefer the dynamic library.
  • Tiff Library - Needed for reading Tiff images. We have created a CMake build system for libTiff. You can download a tar ball of the source directory here
  • Expat XML Library - The current version of expat that is utilized is 2.0.1. We have created a CMake based build system for expat. You can download the source tree from our cvs repository here.
  • Boost 1.39.0 - This is the earliest version that has been tested. There were some bug fixes for OS X compilation in the 1.36.0 series so this the earliest release that is being used at this time. You will need to build the following boost libraries
    1. test
    2. thread
    3. program_options
  • VTK - There are some optional bindings for VTK in the MXA Source code. These are optional to build. If you do build them VTK version 5 is required.
  • Qt - This is only required if you are compiling the GUI based applications.

OS and Compiler Combinations Tested

Operating System Compiler Notes
OS X 10.5.x GCC 4.x (Xcode 3.1 Tooling) OS X 10.4.11 should be supported without any issues. Both PPC and i386 are also supported.
Windows XP SP2 MSVC++ 2009 Express Currently using VS2009 Express to compile everything
Windows 7 Visual Studio 2009 Standard Currently using VS2009 Standard to compile everything
Windows XP SP2 MinGW 3.1.4 with MSys 1.10 GCC 3.4.5 from MinGW project seems to work. Compiling Boost and Qt will be the tricky parts. I would suggest compiling all the 3rd party libraries as static libraries to make things easier.
Ubuntu 8.10 GCC 4.2 Should compile just fine. Large file support, greater than 2GB, may be an issue.
Linux HPC IA64 GCC 4.x Not tested in a long time but should compile without issues.