omniORB2.gif (2079 bytes)

Changes since 2.5.0

sideHome.gif (2321 bytes) sideDownload.gif (2450 bytes) sideDocumentation.gif (2512 bytes) sideFAQ.gif (2344 bytes) sidePatch.gif (2543 bytes) sideSearch.gif (2403 bytes)

Changes since 2.6.0

  • Support for Alpha NT 4.0 added
  • Two Bug fixes to omniidl2
    Bug no. 34 and 35 are fixed.
  •  

Runtime Library Version

IDL stubs must be regenerated with the new IDL compiler to be compatible with the runtime library. The current shared runtime library versions are:

On various unices:

  • libomniORB2.so ---> libomniORB2.so.6 --> libomniORB2.so.6.0

On IBM AIX

  • libomniORB26.a
  • libomniLC2.a

On Windows NT/95, the omniORB2 runtime DLLs for this version are:

  • libomniORB260_rt.dll
  • libomniORB260_rt.lib
  • libomniLC22_rt.dll
  • libomniLC22_rt.lib

Make sure you update your Visual Studio to pick up the right library.

Stub enhancements

  • With MSVC++ and DEC C++ v6.0, C++ namespace is used to represent IDL module.
  • With MSVC++ and DEC C++ v6.0, C++ bool type is used to represent IDL boolean. If you are using some libraries that have #define bool, it is best to disable this feature by passing -DNo_Cplusplus_Bool to the C++ compiler.
  • Reopen IDL modules is allowed by default when the IDL compiler is compiled on MSVC++ and DEC C++ v6.0. It is not allowed by default on other platforms. The -m flag can be given to omniidl2 to explicitly enable reopen module on all platforms. However, the stub code will not compile unless namespace is used to represent module.
  • Dependency on iostream.h is removed from the stubs (and the runtime). This will allow omniORB2 to work with applications that use either STL iostream or the traditional iostream.
  • Stubs are ready to be compiled into Windows DLLs. See the comment in CORBA_sysdep.h

Support of the DynAny interface

DynAny interface, except the DynFixed interface, is fully supported. A new chapter on the use of this interface has been added to the omniORB2 user guide.

omnithread library update

Updated omnithread library so that native threads can call any operations in the library and vice versa. Previously, native threads cannot call omni_thread::join and on nt cannot wait on omni_condition. The semantics of omni_thread::self() is clarified. If the calling thread is not the main thread and is not created using the omnithread library, omni_thread::self() returns 0.

New Tie Implementation Template

Added new flag -t to omniidl2 to enable the generation of tie implementation template

The example src/examples/echo/eg3_tieimpl.cc shows how the template can be used. More description can be found in chapter 2 of the omniORB2 user guide

JavaIDL compatible bootstrapping

It is now possible to use the same mechanism to tell the ORB the root context of the Naming Service. Previously, this is done via an IOR string in the configuration file omniORB.cfg or the win32 registry.

Now, all omniORB2 servers, omniNames included, can respond to a query to the special object with object key 'INIT' and the following interface module CORBA { interface InitialReferences { Object get(in ORB::ObjectId id); ORB::ObjectIdList list(); }; };

To tell an omniORB2 client to use this feature:

  1. Use the command line options: -ORBInitialHost <hostname (string)> and -ORBInitialPort <port (short 1-65535)>

    -ORBInitialPort is optionally. If not specified, port 900 will be used.

  2. Added the following into omniORB.cfg or win32 registry:

ORBInitialHost <hostname (string)> ORBInitialPort <port (short 1-65535)>

So a simpler way to set up omniNames is:

  1. Start omniNames the first time on host wobble: $ omniNames -start <port (e.g. 1234)>
  2. Add to omniORB.cfg the following lines:

    ORBInitialHost wobble ORBInitialPort 1234

    or

    Just invoke a client with -ORBInitialHost wobble -ORBInitialPort 1234

  3. To configure JavaIDL clients to use omniNames, use the JavaIDL command line options: -ORBInitialHost, -ORBInitialPort.

New runtime configuration variable

omniORB::maxTcpConnectionPerServer

This variable controls the maximum number of tcp connections to open to a server. Previously this variable is hard-coded to 5. Change this variable by assignment. Make sure that this is done before ORB_init because the variable is read only once in ORB_init.

Bugs fixed

The complete list of bugs fixed can be found in: http://www.uk.research.att.com/omniORB/omniORBNews.html section omniORB_2.5.0 bugs and patches. All the bugs listed have been fixed.

New platforms

Ports to SGI, Phar Lap ETS kernel, SCO OpenServer 5, Reliant Unix 5.43. We cannot test these ports ourselves. However users have reported success on using omniORB2 on these platforms.

x86 Linux systems with glibc 2.0 library (e.g. Redhat 5.1)

omniORB2 is known to work with egcs-1.1b and binutils-2.9.1.0.14. Choose the platform i586_linux_2.0_glibc. You may have to edit the make variables CXX and CC in the file $(top)/mk/platforms/i586_linux_2.0_glibc.mk

This compiler tool chain contains most bug fixes and seems to cope with -O2 optimisation and shared library very well. Therefore, the default optimisation on this platform is now -O2 and omniORB2 runtime libraries are compiled as shared.

Warning: there may still be bugs in the compiler which will cause it to generate the wrong code with -O2. If in doubt, remove the optimisation flag (use this line in dir.mk 'CXXDEBUGFLAGS =').

The omniORB2 user guide has been updated

 

For comments, feedback, etc, please see the 'Keeping in touch' page.
Copyright 1999 - AT&T Laboratories Cambridge