Building ACE/TAO with Intel® C++ Compiler for Linux

This document explains how to build ACE/TAO using Intel® C++ Compiler for Linux. From the ACE/TAO web site:

ACE† is an open-source framework that provides many components and patterns for developing high-performance, distributed real-time and embedded systems. ACE provides powerful, yet efficient abstractions for sockets, demultiplexing loops, threads, synchronization primitives.

TAO† (The ACE ORB) is an open-source implementation of a CORBA Object Request Broker (ORB) built using components and patterns in the ACE framework.
Several companies provide commercial support for ACE/TAO, see† for information. Remedy IT† , provides support for building ACE/TAO with the Intel® C++ Compiler.

The version of ACE/TAO used in this document is 5.7.1 (latest microrelease).
The 11.1.038 version of the Intel C++ compiler (Intel64) is used.

Obtaining Source Code
The ACE/TAO source code was downloaded from†.

- GNU gunzip and GNU tar for extracting software archives
- GNU make
- Perl v5.6.1 or newer (recommended, but not required)

ACE Configuration and Set-up Information
1. Extract the archive into a path with no spaces in the path name (e.g., /opt/ACE_wrappers):
$ tar zxvf ACE+TAO-5.6.9.tar.gz

2. Go to this directory:
$ cd /opt/ACE_wrappers

3. Set the ACE_ROOT enviroment variable. The ACE_wrappers directory will be referred to as ACE_ROOT in the following steps:
$ export ACE_ROOT=`pwd`

5. Create configuration file:

$ echo 'zlib=1
include $(ACE_ROOT)/include/makeinclude/platform_linux_icc.GNU' >

6. Create a file called config.h in the ACE_ROOT/ace directory that contains:
#include "ace/config-linux.h"

$ echo '#include "ace/config-linux.h"' > $ACE_ROOT/ace/config.h

7. Make sure that you are in ACE_ROOT directory. If not, go to ACE_ROOT:
$ cd $ACE_ROOT

8. Set the LD_LIBRARY_PATH enviroment variable:

9. Set Intel C++ enviroment variables using iccvars script:
. /opt/intel/Compiler/11.1/038/bin/intel64/

10.Build ACE libraries:
$ gmake >& gmake.log 

TAO Configuration and Set-up Information
1. Set the TAO_ROOT enviroment variable.

2. Go to this directory.
$ cd $TAO_ROOT

3. Build TAO libraries
$ gmake >& gmake.log

Source Code Changes
None required.

Verifying Correctness 

As a sanity check, you might also want to build and run sanity tests.

1. Build all the tests in ACE_ROOT/tests:
cd $ACE_ROOT/tests
gmake >& gmake.log

2. You then need to run all the tests, e.g., by running the perl script:


3. If everything works then you should see something like this:

auto_run_tests: tests/ACE_Test

auto_run_tests_finished: tests/ACE_Test Time:1s Result:0
auto_run_tests: tests/Aio_Platform_Test

auto_run_tests_finished: tests/Aio_Platform_Test Time:1s Result:0
auto_run_tests: tests/Arg_Shifter_Test

auto_run_tests_finished: tests/Arg_Shifter_Test Time:1s Result:0
auto_run_tests: tests/ARGV_Test


By default, all the output from the tests will be stored in separate files in the ./log/ directory.
You can override this, however, by setting the ACE_TEST_DIR environment variable to
another prefix.

Each log file contains a time stamp of when the test began and also a time stamp indicating
when the test ended. If the ending time stamp is missing, you can assume that the test
did not succeed.

Related topics


Known Issues or Limitations
None. Please contact Intel® Premier Support website or Intel® User Forums if you encounter problems or want to provide feedback.

† This link will take you off of the Intel Web site. Intel does not control the content of the destination Web Site.
For more complete information about compiler optimizations, see our Optimization Notice.


Johnny W.'s picture

As basic test to see if TAO runs correctly compile ACE_wrappers/TAO/tests/Hello and run that test using the script in that directory.

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.