[omniORB] SCO Unixware 7 port & support

Marcus Bullingham Marcus.Bullingham@aculab.com
Mon, 7 Aug 2000 13:41:19 +0100


Hi,

I am new to omniORB (& CORBA) so please bear with me. I recently (last week)
completed a port of omniORB 3.0 to SCO Unixware 7 (I am currently running
V7.1.0 with various PTFs). I noticed that the documentation hinted that UW7
is actually supported, but the x86_uw7.mk platform file was missing, and
other files had various UW7 entries missing also. So, I downloaded and
unzipped a previous release, omniORB 2.80, and took the UW7 stuff from that
version and propagated it into omniORB 3.0.

Mostly the port was trivial. I had to update x86_uw7.mk; Python needed
rebuilding with the '-export' switch so that the dynamically loaded modules
could see its symbols; a couple of lines of code, acting as some template
workaround, I deleted; and the version and compiler flags needed tweaking
for the Pthread library support.

However, when I came to run the echo examples, the 'in process' example,
eg1, worked successfully, but the 'out of process' and 'Naming Service'
examples, eg2 & eg3, core-dumped - whenever the ORB threw an exception. I
spent some time debugging this, and eventually got it working. Firstly, I
cranked up the thread stack size to 64K instead of using the default.
Secondly, I updated the omni_thread::start() method to create threads that
are 'bound' to Light Weight Processes for UW7 (instead of the default, that
is being 'multiplexed' on LWPs). With _both_ of these changes, the examples
(and my own project) now work successfully. However, I only came by this
second fix by accident - in order to follow a thread in my debugger, and get
a stack trace, I needed to have the threads bound to LWPs. So, I am
concerned that I have simply moved the _real_ problem to another area,
another day.

Does anyone have any experience of running omniORB 3.0 (or any x.y?) on SCO
Unixware 7 that they can share? Does anyone have any suggestions to explain
the problems I have seen, and the workarounds I am using? Our current
project will make use of omniORB on Linux, Solaris, NT & SCO UW7. The first
three platforms are explicitly supported by omniORB, but UW7 seems to be
lacking in real support. Can I feedback the changes I have made (once I am
confident with them) in the hope that UW7 will be supported in future
versions of omniORB?

Any information will be _very_ helpful at this stage.

Thanks advance,

Marcus Bullingham.