[omniORB] Can't find _omniidl module

Duncan Grisby dgrisby@uk.research.att.com
Fri, 09 Feb 2001 11:12:20 +0000


On Thursday 8 February, Richard Gruet wrote:

> On Win NT 4 SP6, I have apparently successfully recompiled (using VC++6
> and Python 2.0) OmniORB from the source omniORB_302.tar.gz and omniORBpy
> from omniORBpy_1_2.tar.gz. I got no errors, but if I try this statement:
> 
>     from omniidl import idlutil
> 
> I get an error "No module named _omniidl" (imported by idlutil)

Are you trying this from a Python interpreter started by running
python.exe?  If so, that's the problem. On Windows, omniidl works as
an executable containing the Python interpreter (as a DLL) and the
_omniidl module. The _omniidl module is only available when you run
omniidl.exe.

The only reason for this is that it's painful to create a command
called "omniidl" which automatically runs Python on all versions of
Windows -- it's easier to use a .exe.

If you are trying to write a back-end for omniidl, you can just use
omniidl -bMyBackEnd to run the relevant Python code. If you are trying
to do something else, you'll have to configure the makefiles to build
omniidl as an extension DLL on Windows. To see how to do that, compare
the Windows rules for the _omnipy module from omniORBpy with the rules
for omniidl.

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --