Ethereal-dev: Re: [Ethereal-dev] omniidl problem in trying compile IDL

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Bernd Becker <bb@xxxxxxxxxxxxxxx>
Date: Wed, 14 Aug 2002 10:00:56 +0200
--On Tuesday, August 13, 2002 18:46:39 -0400 "Patnaik, Anjela" <APatnaik@xxxxxxxxx> wrote:
Frank & others:

Now, when I try to use omniidl, i get this error:

I have placed all IDL files in the same directory
where I have ethereal and all its scripts and c files

$ omniidl -p ./ -b ethereal_be GlobalDefs.idl
omniidl: Could not import back-end `ethereal_be'
omniidl: Maybe you need to use the -p option?
omniidl: (The error was `No module named tempfile')

python is not being able to find the tempfile module that
is imported in ethereal_gen.py.

Which python are you using? I can imagine that you are using
the python version that comes bundled with omniORB for
Windows. That is a an old (1.5.2 I think) version with just
the bare minumum of modules necessary to run omniidl with the
default backend from omniORB. Obviously it does not include
the tempfile module used in ethereal_gen.py.

You have some choices to solve the problem:
1. try to find just that tempfile module (and maybe others that might be
  missing) and put it in the right place
2. get a complete python 1.5.2 distribution and install it on your
  Windows box and make omniidl use that.
3. get a newer version of python and compile omniORB from source.
  That is what I did using python 2.0 on linux.
4. patch ethereal_gen.py to not use tempfile.
Hmmm, I just looked at the docs for the tempfile module for python 1.5.2
and it does not have the function tempfile.TemporaryFile() that Frank uses
in ethereal_gen.py! So 1. and 2. above would not work!
As you will need a decent version of python to compile ethereal anyway, 3.
would be the cleanest solution. But I can't help you with making omniORB
from source on Windows.

Regards,
Bernd