IntroductionThis document explains how to build ACE/TAO using Intel(R) 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
http://www.cs.wustl.edu/~schmidt/commercial-support.html† for information.
Remedy IT† , provides support for building ACE/TAO with the Intel® C++ Compiler.
VersionThe 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 CodeThe ACE/TAO source code was downloaded from
http://download.dre.vanderbilt.edu/†.
Prerequisites- 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
inline=0
boost=0
CFLAGS+=-Wp64
include $(ACE_ROOT)/include/makeinclude/platform_linux_icc.GNU' >
$ACE_ROOT/include/makeinclude/platform_macros.GNU
6. Create a file called config.h in the ACE_ROOT/ace directory that contains:
#define ACE_HAS_REACTOR_NOTIFICATION_QUEUE
#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:
$ export LD_LIBRARY_PATH=$ACE_ROOT/lib:$LD_LIBRARY_PATH
9. Set Intel C++ enviroment variables using iccvars script:
. /opt/intel/Compiler/11.1/038/bin/intel64/iccvars_intel64.sh
10.Build ACE libraries:
$ gmake >& gmake.log
TAO Configuration and Set-up Information1. Set the TAO_ROOT enviroment variable.
$ export TAO_ROOT=$ACE_ROOT/TAO
2. Go to this directory.
$ cd $TAO_ROOT
3. Build TAO libraries
$ gmake >& gmake.log
Source Code ChangesNone 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:
./run_test.pl
3. If everything works then you should see something like this:
./run_test.pl
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 topicshttp://software.intel.com/en-us/articles/intel-c-compiler-for-linux-building-acetao-with-intel-c-compiler-for-linux/ Known Issues or LimitationsNone. 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.