[omniORB] Puzzling install prob w/omniORB4

Nathan Stitt nate@allmed.net
Thu Jun 20 23:19:01 2002


I've just solved a puzzling install problem with omniORB4 and though I
would send it to the list so it will be documented in case some other
poor fool comes across it.

I've been using omniORB3 in my app for quite some time now with no
problems at all, however I recently decided to test it against version
4. It compiled with g++ 3.1 giving a few warnings during compilation but
seemed to complete ok.

However after a make install whenver I attempted to run omniidl I would
get the following error:

TypeError: __init__() takes exactly 12 arguments (11 given)
python: idlpython.cc:450: void PythonVisitor::visitInterface(Interface
*): Assertion `pyintf != 0' failed.
Aborted

Suspecting that it was becouse I didn't uninstall version 3, I did a
quick rm /usr/local/lib/libomni* and ran make install again.  Error
still occured.

Then the fun began.  I'll spare you all the gory details about gdb and
strace, but it ended up being a lib from version 3 named
_omniidlmodule.so.0 that was left in the /usr/local/lib directory. 
Copying lib/_omniidlmodule.so to /usr/local/lib fixed the error.

I'm not sure why:  omniORB 3 installed a lib with a non standard name
like that.  Or why omniORB 4 didn't over-write it with it's own version
on make install.

At any rate I thought I should post this to the list, as I'm sure at
some point someone will attempt an upgrade and run into the same
problem.

I attempted to find where _omniidlmodule.so.0 was referenced in version
4 so I could get it to install itself over top of ver 3, but was unable
to find any reference to it in any of the makefiles, which of course
makes no sense as it had to be compiled somehow.

Now that I've got it working, ver 4 seems very nice! Thanks for all your
hard work Duncan ( and others ).

Perhaps this will help someone,
Nathan