Building ACE on the Mac
From Micro-Manager
Download ACE version 5.6.1, or possibly later (be sure to get the 'full' version, you only need ACE, no TAO).
Unpack in a logical place (for instance: /usr/local/src) use bunzip2 and tar -xvf to unpack the .tar.bz2 file.
ACE has an autotools build mechanism, and a 'traditional' build. The autotools build worked with ACE version 5.5 on the Mac, but has been broken since. To use the 'traditional' build follow the build instructions.
For example:
cd into ACE_Wrappers and type:
ACE_ROOT=`pwd`; export ACE_ROOT
Create and edit $ACE_ROOT/ace/config.h
On Tiger (10.4) it should read:
#define ACE_HAS_NONSTATIC_OBJECT_MANAGER
#include "ace/config-macosx-tiger.h"
For ACE version 5.7.2 with Tiger (10.4), I found it necessary to also add the following to the config.h file:
#define ACE_LACKS_UNSETENV
#define ACE_LACKS_ISCTYPE
#define ACE_NEEDS_DL_UNDERSCORE
Create a build configuration file, $ACE_ROOT/include/makeinclude/platform_macros.GNU On Tiger (10.4) it should read:
debug = 1
shared_libs = 0
static_libs = 1
include $(ACE_ROOT)/include/makeinclude/platform_macosx_tiger.GNU
If you wish to build ACE as a shared library, you would need to change this and also define DYLD_LIBRARY_PATH to include $(ACE_ROOT)/lib
Now cd into $ACE_ROOT/ace, type make and pray no errors will occur.
To make the library available to your system, place a symbolic link in /usr/local/include that points to the $(ACE_ROOT)/ace directory:
sudo ln -s $ACE_ROOT/ace /usr/local/include/ace
Copy libACE.a to /usr/local/lib
