[ C++で開発 ] [ TAO CORBA実装 ]

TAO1.5a(OCI版) CentOS 5 GCC 4.1.2インストール記録

CentOS 5のアップデート後のGCC(C++)コンパイラのバージョンは、4.1.2となります。

ビルドの準備

OCI版TAOの入手

OCI社のWebサイトTAOページからダウンロードページへリンクを辿り、TAO1.5aを入手します。1.5aとは、本家TAOの1.5.6をベースにOCI社がパッチを当てたものです。

ソースの展開

作業ディレクトリとして、$HOME/workを設け、その下に展開します。

torutk$ cd work
work$ gtar xzf ACE+TAO-1.5a_with_latest_patches.tar.gz
    :
work$ cd ACE_wrappers
ACE_wrapperse$

ビルド実施記録

1. config.hの編集

$HOME/work/ACE_wrappers/ace/config.h ファイルを新規作成します。

#include "ace/config-linux.h"
#define ACE_HAS_IPV6

2. platform_macros.GNU

$HOME/work/ACE_wrapers/include/makeinclude/platform_macros.GNU ファイルを新規に作成します。

OCI社のRelease Notesを参照し、ファイルに記述するオプションを指定します。

ACE_wrappers/include/makeinclude/platform_macros.GNUの記述
inline=1
ami=1
rt_corba=1
interceptors=1
corba_messaging=1
shared_libs_only=1
probe=0
profile=0
debug=1
optimize=1
ipv6=1
no_hidden_visibility=1
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU

GCCの問題でTAO-1.5.10以前(TAO 1.5aを含む)では、no_hidden_visibilityを指定する必要があります。

ipv6の指定は不要かもしれませんが、念のため。

3. コンパイル・リンク

環境変数の設定

環境変数ACE_ROOT
ACE_wrappers$ export ACE_ROOT=`pwd`
ACE_wrappers$ echo $ACE_ROOT
/export/home/torutk/work/ACE_wrappers
ACE_wrappers$
環境変数TAO_ROOT
ACE_wrappers$ export TAO_ROOT=$ACE_ROOT/TAO
ACE_wrappers$ echo $TAO_ROOT
/export/home/torutk/work/ACE_wrappers/TAO
ACE_wrappers$
環境変数LD_LIBRARY_PATH
ACE_wrappers$ export LD_LIBRARY_PATH=$ACE_ROOT/ace:$TAO_ROOT/lib:$LD_LIBRARY_PATH
ACE_wrappers$

ACE+TAOのビルド

ACE_wrappers$ cd TAO
TAO$ make 
 :
TAO$