autotools-idl test matrix

autotools-idl have a suite of (almost) automatic tests.
While the test suite itself might not be of interest to the users of autotools-idl, the results might be.

The automatic tests are no longer being regularly executed. So if you find a regression on any of the other platforms don't hesitate to report it to the mailing list.

Operating systems:
OS
Release
Architecture
Comment
Compiler(s)
GNU/Linux Debian testing
x86, x86-64
GCC 5.2.1, ICC 11.1.073
NetBSD
5.0.1
x86

GCC 4.1.3
FreeBSD
7.2
x86

GCC 4.2.1
OpenBSD
4.6
x86
GCC 3.3.5
Solaris
10 5/09
x86-64
Sun Studio 12 Update 1 GCC 3.4.3, SunC++ 5.10
Darwin
Darwin 9.4.0, MacOS X  10.5.4 x86
XCode 3.1.4
GCC 4.0.1
CygWin
current, Windows XP
x86
GCC 3.4.4


ORB build status:
ORB/OS
Linux/GCC x86
Linux/GCC x86-64 NetBSD/GCC
FreeBSD/GCC
OpenBSD/GCC
Solaris/GCC
Solaris/SunC++
Darwin/GCC
CygWin/GCC
omniORB4 (4.2.1)
yes
yes
yes
yes
yes
yes
yes
yes
yes1
TAO autotools build (1.8.1)5
yes
yes
yes
yes
yes
yes
yes
yes
no
TAO stock build (2.3.1)
yes
yes
yes
yes
yes
yes
no11
yes
yes6
MICO (2.3.13)
yes
yes
yes
yes
yes
yes
no11 yes
no
orbitcpp (1.3.10)
ORBit-2 (2.14.19)
libIDL (0.8.14)
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
no
yes
no
yes
yes
yes
no
no
yes
ORBacus (4.3.29)
yes
yes
no10
yes
no2
yes
yes7
yes
yes4
VisiBroker (8.0)
yes
yes
N/A3
N/A3
N/A3
N/A3
yes N/A3
N/A3
Tuxedo (11.2)
yes
yes
N/A3
N/A3
N/A3
N/A3
yes
N/A3
N/A3
Orbix (6.3.4)
yes
yes
N/A3
N/A3
N/A3
N/A3
yes8
N/A3
N/A3

Almost all the ORBs require at least a small patch to their source or build system in order to be built and used with almost any OS/compiler combination. The patches can be found here (the *.patch files).
  1. See http://www.omniorb-support.com/pipermail/omniorb-list/2005-January/026285.html.
  2. ORBacus cannot be built under OpenBSD because it requires a thread-aware compiler version, and OpenBSD's package is not (although OpenBSD has a thread library). All other thread-requiring ORBs do build, and the tests do run when linked against them, but a more complex program (one which utilizes exceptions) will most probably fail.
  3. VisiBroker, Orbix and Tuxedo are not available in source form. No binary realease is being offered for these OSes / architectures.
  4. ORBacus builds only static libraries under CygWin.
  5. See http://groups.google.com/group/comp.soft-sys.ace/browse_thread/thread/638b50e3806e540b/94097d834481fc1d.
  6. See http://groups.google.com/group/comp.soft-sys.ace/browse_thread/thread/ccc0b438a00ce350/f1413e9119c016e2.
  7. 64-bit.
  8. Both 32- and 64-bit.
  9. ORBacus 4.3.3 and 4.3.4 have a memory corruption problem with its IDL compiler under GNU/Linux. That is why the tests were executed with the non-latest version.
  10. ORBacus' IDL compiler fails with some kind of an assertion error.
  11. The build fails with a segmentation fault in ld.

Common remarks:

  1. The test suite has been built with the native make and the native Bourne or Korn shell (e.g. GNU make and bash have been used only under Linux, Darwin and CygWin).
  2. Only Linux and CygWin are tested in all the link modes, that is why they have separate result tables.
  3. Entirely static linking would fail under Solaris and Darwin because they do not provide static versions of their system libraries.
  4. All static and entirely static linking would fail with VisiBroker, Tuxedo and Orbix because they do not provide static versions of their core libraries.

Linux/GCC x86:
ORB / link mode
default
max static
all static
entirely static
omniORB4
yes
yes
yes
yes
TAO autotools build yes
yes
yes
yes
TAO stock build yes
yes
yes
yes
MICO
yes
yes
yes
yes
orbitcpp
yes
yes
yes
yes
ORBacus
yes
yes
yes
yes
VisiBroker
yes
yes
N/A
N/A
Tuxedo
N/A
N/A
N/A N/A
Orbix
yes
yes
N/A N/A

Linux/ICC x86:
ORB / link mode
default
max static
all static
entirely static
omniORB4
yes
yes
yes
yes
TAO autotools build yes
yes
yes
yes
TAO stock build yes
yes
yes
yes
MICO
yes
yes
yes
yes
orbitcpp2
yes
yes
yes
yes
ORBacus
yes
yes
yes
yes
VisiBroker
yes
yes
N/A
N/A
Tuxedo
N/A
N/A
N/A N/A
Orbix
yes
yes
N/A N/A

Linux/GCC x86-64:
ORB / link mode
default
max static
all static
entirely static
omniORB4
yes
yes
yes
yes
TAO autotools build yes
yes
yes
yes
TAO stock build yes
yes
yes
yes
MICO
yes
yes
yes
yes
orbitcpp
yes
yes
yes
yes
ORBacus
yes
yes
yes
yes
VisiBroker
yes
yes
N/A
N/A
Tuxedo
no1 no1
N/A N/A
Orbix
yes
yes
N/A N/A

Linux/ICC x86-64:
ORB / link mode
default
max static
all static
entirely static
omniORB4
yes
yes
yes
yes
TAO autotools build yes
yes
yes
yes
TAO stock build yes
yes
yes
yes
MICO
yes
yes
yes
yes
orbitcpp2
yes
yes
yes
yes
ORBacus
yes
yes
yes
yes
VisiBroker
yes
yes
N/A
N/A
Tuxedo
no1 no1
N/A N/A
Orbix
yes
yes
N/A N/A

  1. Running a Tuxedo program is ridiculously complex. The example does build but the automatic test script does not try to run it. It should work, though.
  2. See http://bugzilla.gnome.org/show_bug.cgi?id=322490. The patch must be applied in order to use orbitcpp with ICC.

CygWin:
ORB / link mode
default
max static
all static
entirely static
omniORB4
yes
yes
yes
yes
TAO autotools build N/A
N/A
N/A
N/A
TAO stock build no2
yes
yes
yes
MICO
N/A
N/A N/A N/A
orbitcpp
N/A N/A N/A N/A
ORBacus
yes1
yes
yes
yes
VisiBroker
N/A
N/A
N/A
N/A
Tuxedo
N/A
N/A
N/A
N/A
Orbix
N/A
N/A
N/A
N/A

  1. Since ORBacus builds only static libraries under CygWin this mode is no different than max static and all static.
  2. See http://groups.google.com/group/comp.soft-sys.ace/browse_thread/thread/ccc0b438a00ce350/f1413e9119c016e2.

Default link mode:
ORB/OS
NetBSD/GCC
FreeBSD/GCC
OpenBSD/GCC
Solaris/GCC
Solaris/SunC++ x86
Solaris/SunC++ x86-64 Darwin/GCC
omniORB4
yes
yes
yes
yes
yes
N/A
no3
TAO autotools build yes
yes
N/A
yes
no1 N/A
no3
TAO stock build yes
yes
yes
yes
N/A
N/A
no3
MICO
yes
yes
yes
yes
N/A
N/A
no3
orbitcpp
yes
yes
yes
yes
N/A
N/A
no3
ORBacus
N/A
yes
N/A
yes
N/A
yes
no3
VisiBroker
N/A
N/A
N/A
N/A
N/A
yes
N/A
Tuxedo
N/A N/A N/A N/A N/A
no2
N/A
Orbix
N/A N/A N/A N/A yes
yes
N/A

  1. The example does build but does not run because of an unknown reason (probably because of wrong (GCC-specific) assumptions about the order of static initializers).
  2. Running a Tuxedo program is ridiculously complex. The example does build but the automatic test script does not try to run it. It should work, though.
  3. Dynamically-built C++ applications regularly fail upon exit (after main() returns). The reason is unknown.

Max static link mode:
ORB/OS
NetBSD/GCC
FreeBSD/GCC OpenBSD/GCC Solaris/GCC Solaris/SunC++ x86
Solaris/SunC++ x86-64 Darwin/GCC
omniORB4
yes
yes
yes
yes
yes
N/A
yes
TAO autotools build yes
yes
N/A
yes
yes
N/A
yes
TAO stock build yes
yes
yes
yes
N/A
N/A
yes
MICO
yes
yes
yes
yes
yes
N/A
yes
orbitcpp
yes
yes
yes
yes
yes
N/A
yes
ORBacus
N/A
yes
N/A
yes
N/A
yes
yes
VisiBroker
N/A
N/A
N/A
N/A
N/A
yes
N/A
Tuxedo N/A
N/A
N/A
N/A
N/A
no1
N/A
Orbix N/A
N/A
N/A
N/A
yes
yes
N/A
  1. Running a Tuxedo program is ridiculously complex. The example does build but the automatic test script does not try to run it. It should work, though.

The test suite (as well as ORB build automation) can be found in the tests Subversion module. If you want to build them and have problems, don't hesitate to ask on the mailing list.