Discussion:
[omniORB] running omniidlrun.py on windows
Tim Black
2009-06-20 05:01:55 UTC
Permalink
I'm interested in running the full python version of onmiidl (front- and
back-ends) on windows, so I can run it under the python debugger. (This
helps me understand a new project.) In the win32 distribution of
omniORB-4.1.3, I'm seeing
<top>/src/tool/omniidl/python/scripts/omniidlrun.py, which appears to be the
entry point for the full python version of omniidl. This fails to import
_omniidl, ("Could not open IDL compiler module _omniidlmodule.so") which I
am assuming is a library for the front-end.

If I build omniORB from source using Cygwin or MSVC, will I get this
required _omniidl module library so I can then successfully run
omniidlrun.py, or am I barking up the wrong tree and omniidlrun.py is only
expected to work on Linux?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20090619/8f4543dd/attachment.htm
Duncan Grisby
2009-07-02 14:44:26 UTC
Permalink
Post by Tim Black
I'm interested in running the full python version of onmiidl (front- and
back-ends) on windows, so I can run it under the python debugger. (This helps
me understand a new project.) In the win32 distribution of omniORB-4.1.3, I'm
seeing <top>/src/tool/omniidl/python/scripts/omniidlrun.py, which appears to
be the entry point for the full python version of omniidl. This fails to
import _omniidl, ("Could not open IDL compiler module _omniidlmodule.so")
which I am assuming is a library for the front-end.
If I build omniORB from source using Cygwin or MSVC, will I get this required
_omniidl module library so I can then successfully run omniidlrun.py, or am I
barking up the wrong tree and omniidlrun.py is only expected to work on Linux?
omniidl is build in different ways on different platforms. On Unix
platforms, it's either a python script or a shell script that invokes a
Python script, and the C++ bits of omniidl are compiled into a Python
extension module.

On Windows, omniidl is compiled into an executable rather than a Python
extension. That's mainly so omniidl can be invoked as omniidl rather
than omniidl.py. You could hack the makefile in
src/tool/omniidl/cxx/dir.mk to build it as an extension rather than an
executable.

By far the easiest way to do what you're talking about would be to do
your development on Linux...

Cheers,

Duncan.
--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --
Loading...