Compiling ACE

From Wiki for iCub and Friends
Revision as of 15:37, 25 November 2009 by Lorenzo (talk | contribs)
Jump to navigation Jump to search


Download ACE (recommended version 5.5.5) from (full version!):, then unpack it and prepare for the compilation. Build a symlink to config.h as (config.h is in ACE_wrappers/ace):

ln -s config-linux.h config.h

and (which can be found in ACE_wrappers/include/makeinclude):

ln -s platform_linux.GNU platform_macros.GNU

Run make from $ACE_ROOT/ace (e.g. make debug=0 for no debug information). When done, you should see the .so libraries in $ACE_ROOT/lib.

Note: these instructions are derived from:

Important: follow the "Using the Traditional ACE/GNU Configuration" method. The other methods will compile successful, but the library you get might not work properly with YARP.

Don't forget to set up the environment veriable ACE_ROOT to point to where ACE was unpacked (e.g. ACE_wrappers). This will be used later on by (CMake) to find the ACE library.


We recommend ace version 5.5.5, it can be downloaded from ace website. Follow instructions to compile ACE.

Here a short summary: Unpack ACE in a directory of your choice. Set the ACE_ROOT environment variable to point to this directory. You will find the Visual Studio project files there in the ACE_wrappers directory. We typically open the ace/ACE_vc8.sln (or the one that matches your compiler), project file which contains only the definitions to compile the basic libraries (ACE is much bigger than that).

Before compiling, ACE requires the ace/config.h file. This can be made equal (copy) to the ace/config-win32.h which has provisions for the supported WIN32 compilers. Then simply compile the libraries (from Visual Studio). Only ACE is required for Yarp (as we said, ACE comes with many other libraries, e.g. QoS). Get a coffee, it takes a while.