Ethereal-dev: [Ethereal-dev] Re: omniidl problem in trying compile IDL using backends
--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.