Skip to content

Requirements and Dependencies

Blake Johnson edited this page Mar 26, 2015 · 4 revisions

General Requirements

  • The MATLAB driver requires MATLAB >= 2010a
  • The APS GUI requires Python 2.7 or newer (has not been tested on Python 3) and the following packages: PySide and h5py. You also need a recent version of Qt (we test with Qt 4.8.x).

On most platforms you can satisfy all of the python requirements with Anaconda.

libaps Driver

All platforms:

  • FTDI driver installed

Windows:

  • MinGW build of HDF5 libraries: hdf5.lib and hdf5_cpp.lib
  • libwinpthread-1.dll
  • libstdc++-6.dll
  • LIBGCC_S_SJLJ-1.DLL

OS X:

  • Clang build of HDF5 libraries.

Building and Packaging Instructions

Windows

Using gcc on Windows is a rapidly moving target. Our setup has changed every couple of months but the latest and most painless way has been using MSYS2 and the MinGW-w64 gcc compiler stack.

  1. Download the MSYS2 installer and follow the instructions to install and update in place.
  2. Use pacman package manager to install some additional tools and libraries:
pacman -S make
pacman -S mingw64/mingw-w64-x86_64-cmake
pacman -S mingw64/mingw-w64-x86_64-gcc
pacman -S mingw64/mingw-w64-x86_64-gdb
pacman -S mingw64/mingw-w64-x86_64-hdf5
  1. Finally build in the libaps folder
mkdir build
cd build
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug ../src/
make

OS X

OS X mostly works out of the box with the latest XCode installed. Use brew to install hdf5:

brew tap homebrew/science
brew install hdf5 --c++11 --with-cxx

py2exe of Python APS GUI

This is straightforward with the included setup.py.

cd src/python
python setup.py py2exe

This will generate a build and dist folder. The dist folder is what we want but need to move in some dependencies that py2exe doesn't pick up.

cd src/python/
cp APS.ui dist/
cp -r ../../build32 dist/
cp -r ../../bitfiles dist/

The folder can now be zipped and distributed.