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

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: Thu, 15 Aug 2002 11:00:27 +0200
--On Wednesday, August 14, 2002 16:16:46 -0400 "Patnaik, Anjela" <APatnaik@xxxxxxxxx> wrote:
I added PYTHONPATH to my path. I am using Windows 2k
and running Cygnus. I get syntax errors.
I am also using Python22 distribution. Is this the right
version..
...
SyntaxError: invalid syntax

The problem might be that you are using a different python version than
the one that omniORB was built with. Or did you build omni from source
with your installed pyton2.2 version?? If you did that, then I don't know...

On linux, if I call omniidl (built with python 2.0) using python 2.2.1, I get omniidlrun.py:67: RuntimeWarning: Python C API version mismatch for module _omniidl:
This Python has API version 1011, module _omniidl has version 1009.
 import _omniidl

You may get help with the omniORB Windows version on the omniORB mailing list:
http://omniorb.sourceforge.net/list.html

Cheers, Bernd
PS.: Just to make sure, I tried idl2eth with python2.2.1 and omniORB-3.0.5
and it does work. Here are some details:

I downloaded python2.2.1 and omniORB-3.0.5 and built everyting with
gcc-2.95.3 on linux.

For python it was just the usual
cd Python-2.2.1;
./configure; make;
make install (as root) which installs it in /usr/local

For omni I followed the instructions in README.unix:
set platform to i586_linux_2.0_glibc2.1 in ./config/config.mk
(even though my system is linux2.4 and glibc-2.2.2).
In mk/platforms/i586_linux_2.0_glibc2.1.mk I set
PYTHON = /usr/local/bin/python
and then
cd src; make export
The binaries are created in ./bin/i586_linux_2.0_glibc2.1

Before calling idl2eth you have to make sure your environment
is set as to find the correct python interpreter and omniidl.

Then I was able to generate the ethereal plugin source, e.g.
.../omni/bin/i586_linux_2.0_glibc2.1/omniidl  \
 -p $HOME/ethereal -b ethereal_be example.idl \
 >ethereal/plugins/giop/packet-example.c

The generated file looks OK, though I have not tried to compile
it in the ethereal source tree yet.