The OpenFusion TAO 1.5 Release Notes cover the following topics:
Supported Platforms and Compilers
OpenFusion TAO Directory Organisation
Upgrading to OpenFusion TAO 1.5
Interoperability and Compatibility
PrismTech offers various builds:
See the table below for build availability.
Platform / Architecture / Compiler | Standard | Inline | Debug |
---|---|---|---|
SunOS 5.10 Generic / SPARC / Sun Studio 10 C++ 5.7 - 32 bits | Yes | Yes | Yes |
SunOS 5.10 Generic / SPARC / Sun Studio 9 C++ 5.6 - 64 bits / ipV6 | Yes | No | Yes |
SunOS 5.10 Generic / SPARC / Sun Studio 9 C++ 5.6 - 32 bits / ipV6 | Yes | No | No |
SunOS 5.10 Generic / SPARC / gcc version 3.4.4 | Yes | Yes | Yes |
SunOS 5.9 Generic_112233-12 / SPARC / Sun Studio 9 C++ 5.6 - 64 bits | No | Yes | Yes |
SunOS 5.8 Generic_108528-17 / SPARC / Sun ONE Studio 8, Compiler Collection C++ 5.5 - 32 bits | Yes | Yes | Yes |
Red Hat Enterprise Linux ES release 4 (Nahant Update 2) / x86 / gcc version 3.4.4 | Yes | Yes | Yes |
Suse Linux 9.3 / x86 / gcc version 3.3.3 | Yes | No | No |
MontaVista Linux PRO 3.1 PQ3 target (Red Hat 9 host) / 85xx PowerPC / gcc version 3.4.1 | Yes | No | No |
Microsoft Windows / x86 / Microsoft Visual C++ v7.1 (MFC) - 32 bits | Yes | Yes | Yes |
Microsoft Windows / x86 / Microsoft Visual C++ v7.1 (No MFC) - 32 bits | Yes | Yes | Yes |
PrismTech supports a wide variety of platforms and compilers. For an up-to-date list, contact us via http://www.prismtechnologies.com/
Additional operating system / compiler combinations may be supported based on demand.
The OpenFusion TAO directory organisation is different from other TAO distributions.
The PrismTech distribution has a modified directory structure to make it more readable and usable.
The directory structure is as follows:
PrismTech's TAO distribution is by default built with the following options:
Key: The values in the Must Match column have the meanings defined below.
Y - the application must have the same value as the build
N - the application may use any value it chooses
E = the application can only use this option if it was set at
build time
B - this option is only effective at build time
The inline, debug and MFC flags are set according to the build. See the build availability list above.
Option | Description | Must Match | Default Build Flags (Solaris, HP-UX, Linux, LynxOS) | Default Build Flags (Windows 2000, Windows NT, Windows XP) |
---|---|---|---|---|
exceptions | Enable native C++ exceptions | Y | 1 | 1 |
Include_env | Enable ACE_TRY_ENV macro backward compatibility mode. | Y | 0 | 0 |
rtti | Enable C++ RTTI | N | 1 | 0 |
optimize | Turn on compiler optimiztion | N | 1 | 1 |
repo | Use GNU template repository | N | 0 | 0 |
fast | Use -fast compiler option (SunCC only) | N | 0 | 0 |
threads | Enable threads (if OS supports) | Y | 1 | 1 |
purify | Third party product support | N | 0 | 0 |
quantify | Third party product support | N | 0 | 0 |
shared_libs | Build shared libraries | E | 1 | 0 |
static_libs | Build archive libraries | E | 0 | 0 |
shared_libs_only | Build shared libraries only | E | 1 | 0 |
static_libs_only | Build static libraries only | E | 0 | 0 |
minimum_corba | Build with minimum CORBA support | B | 0 | 0 |
probe | Enable ACE_Timeprobes | B | 0 | 0 |
profile | Enable profiling | N | 0 | 0 |
xt_reactor | Build with xt reactor | Y | 0* | 0 |
fl_reactor | Build with fl reactor | Y | 0 | 0 |
tk_reactor | Build with tk reactor | Y | 0 | 0 |
qt-reactor | Build with Qt reactor | Y | 0 | 0 |
ami | Enable Asynchronous Method Invocation (AMI) | Y | 1 | 1 |
smart_proxies | Enable Smart Proxies | Y | 0 | 0 |
corba_messaging | Enable CORBA Messaging | Y | 1 | 1 |
rt_corba | Enable Real-time CORBA support | Y | 1 | 1 |
Interface_repo | Enable Interface Repository support | N | 1 | 1 |
interceptors | Enable portable interceptors | Y | 1 | 1 |
fakesvcconf | Build in default Service Configurator options | B | 0 | 0 |
* The Sun ONE Studio 7, 8, 9 and 10 and HP ANSI C++ B3910B A.03.39 compiler builds have the xt_reactor flag set to 1.
The following libraries and executables are the TAO product deliverables:
When using tao_ifr to add idl to the interface repository on Windows NT with Microsoft Visual C++, you need to have the following in your path:
<TAO Installation dir>\bin
<TAO Installation dir>\lib
<Microsoft Visual Studio dir>\vc98\bin
<Microsoft Visual Studio dir>\Common\MSDev98\bin
where <TAO Installation dir> is the path to the TAO installation directory and <Microsoft Visual Studio dir> is the path to the installation of Microsoft Developer Studio. This is necesary because tao_ifr makes use of the cl.exe C++ preprocessor which is in the <Microsoft Visual Studio dir>\vc98\bin directory, which in turn uses dlls which reside in the <Microsoft Visual Studio dir>\Common\MSDev98\bin directory.
Use of ORB::create_operation_list operation will require the TAO_IFR_Client library to be linked into a program. If the TAO_IFR_Client is not linked a NO_IMPLEMENT exception will be raised if ORB::create_operation_list is invoked.
The examples do not build for a Microsoft Visual C++ V6.0 debug distribution.
The gcc 3.2 compiler fails to compile generated code for IDL containing fixed size arrays. The gcc 3.2.1 compiler fixes this problem (except on MontaVista Linux release 3.0). This was identified during interoperability testing of OpenFusion TAO releases.
UTF-16 Wide Characters / Wide String Interoperability. (Bug ID 00RE)
Issue 1: UTF-16 strings are being marshalled and demarshalled incorrectly. On little endian platforms little endian encoding is employed without an appropriate byte order marker being used. Characters within incoming strings are assumed to be encoded as per the byte order of the encapsulating stream. These are both in contravention of section "15.3.1.6 Character Types" of the CORBA 3.0 specification.
Issue 2: No account is taken of the byte order of an input stream when decoding a wide character type. Wide character passing between platforms with differing endian setting results in corrupted data.
Table Key:
Product | Direction | Product | Status |
---|---|---|---|
JacORB | -> | TAO-BF LE | wstring OK, wchar Broken |
JacORB | <-> | TAO-BF BE | OK |
TAO-BF LE | -> | JacORB | Broken |
TAO-BF LE | <-> | TAO-BF BE | OK |
TAO-BF LE | <-> | TAO-BF BE | wstring OK, wchar Broken |
TAO-BF BE | <-> | TAO-BF BE | OK |
Product | Direction | Product | Status |
---|---|---|---|
JacORB | -> | TAO-AF LE | OK |
JacORB | <-> | TAO-AF BE | OK |
TAO-AF LE | -> | JacORB | OK |
TAO-AF LE | <-> | TAO-AF BE | OK |
TAO-AF LE | <-> | TAO-AF BE | OK |
TAO-AF BE | <-> | TAO-AF BE | OK |
Product | Direction | Product | Status |
---|---|---|---|
TAO-AF LE | <-> | TAO-BF LE | Broken |
TAO-AF BE | <-> | TAO-BF BE | OK |
TAO-AF LE | -> | TAO-BF BE | Broken |
TAO-AF BE | <- | TAO-BF LE | wstring OK, wchar Broken |
TAO-AF LE | <- | TAO-BF BE | Broken |
TAO-AF BE | -> | TAO-BF LE | wstring OK, wchar Broken |
Memory mapped IFR persistence doesn't work on RedHat Linux. (Internal issue TAO#453)
The memory mapped IFR persistence mechanism (-p service option) has been discovered to have incompatibilities with the RedHat Enterprise Server 4 kernel libraries. These consistently result in memory corruption and crashes of the service. There have also been reports of problems on Fedora Core systems and earlier versions of RedHat Enterprise Linux. The problem occurs outside of ACE / TAO. We strongly recommend that this persistence option is not use with this operating system. Please use the flat file persistence mechanism instead (-f option) as this mechanism is more stable.