top bar

Building ACE on the Mac

Revision as of 08:52, 30 July 2009 by Jordan (Talk | contribs)

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

© Micro-Manager : Vale Lab, UCSF 2006-2011 | All Rights Reserved | Contact