Discussion:
[omniORB] Python2.5 with omniORBpy3.4: assertion fails
Tomas Brambora
2009-11-09 22:59:57 UTC
Permalink
Hi,

I'm running Ubuntu 9.10 and generally use python2.6. However, the
production server runs python 2.5.

I've downloaded & make install'd omniORB-4.1.4 and omniORBpy-3.4. And
now when try to import omniORB in python2.5, I get:

omniORB: Assertion failed. This indicates a bug in the application
using omniORB, or maybe in omniORB itself.
file: omnipy.cc
line: 444
info: PyDict_Check(omniPy::pyCORBAsysExcMap)
terminate called after throwing an instance of 'omniORB::fatalException'
Aborted

I've googled out that this used to happen with python2.4->2.5 migration
because of the exceptions using old class style classe as base, but I've
got problems with 2.5->2.6. Any patch available?

Regards,
Tomas
Duncan Grisby
2009-11-10 00:22:10 UTC
Permalink
Post by Tomas Brambora
I've downloaded & make install'd omniORB-4.1.4 and omniORBpy-3.4. And
omniORB: Assertion failed. This indicates a bug in the application
using omniORB, or maybe in omniORB itself.
file: omnipy.cc
line: 444
info: PyDict_Check(omniPy::pyCORBAsysExcMap)
terminate called after throwing an instance of 'omniORB::fatalException'
Aborted
It works fine for me with Python 2.5. Did you build it on the system
with Python 2.5? Exactly what steps did you perform? Try running
"python -v" then doing "import omniORB". Is it getting the omniORB files
from the locations you'd expect?

Cheers,

Duncan.
--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --
Tomas Brambora
2009-11-10 15:00:35 UTC
Permalink
Post by Duncan Grisby
Post by Tomas Brambora
I've downloaded & make install'd omniORB-4.1.4 and omniORBpy-3.4. And
omniORB: Assertion failed. This indicates a bug in the application
using omniORB, or maybe in omniORB itself.
file: omnipy.cc
line: 444
info: PyDict_Check(omniPy::pyCORBAsysExcMap)
terminate called after throwing an instance of 'omniORB::fatalException'
Aborted
It works fine for me with Python 2.5. Did you build it on the system
with Python 2.5? Exactly what steps did you perform? Try running
"python -v" then doing "import omniORB". Is it getting the omniORB files
from the locations you'd expect?
Cheers,
Duncan.
Actually, running configure on omniORBpy finds Python2.6 (that's my
default) and omniORBpy gets installed as a Python2.6 package. Is there
any way of telling it to use Python2.5? I couldn't find it in the
configure script options.
Here's `python2.5 -v` output.
Post by Duncan Grisby
Post by Tomas Brambora
Post by Tomas Brambora
import omniORB
import omniORB # directory /usr/local/lib/python2.6/site-packages/omniORB
# /usr/local/lib/python2.6/site-packages/omniORB/__init__.pyc has bad magic
import omniORB # from
/usr/local/lib/python2.6/site-packages/omniORB/__init__.py
# can't create /usr/local/lib/python2.6/site-packages/omniORB/__init__.pyc
# /usr/lib/python2.5/string.pyc matches /usr/lib/python2.5/string.py
import string # precompiled from /usr/lib/python2.5/string.pyc
# /usr/lib/python2.5/re.pyc matches /usr/lib/python2.5/re.py
import re # precompiled from /usr/lib/python2.5/re.pyc
# /usr/lib/python2.5/sre_compile.pyc matches
/usr/lib/python2.5/sre_compile.py
import sre_compile # precompiled from /usr/lib/python2.5/sre_compile.pyc
import _sre # builtin
# /usr/lib/python2.5/sre_constants.pyc matches
/usr/lib/python2.5/sre_constants.py
import sre_constants # precompiled from /usr/lib/python2.5/sre_constants.pyc
# /usr/lib/python2.5/sre_parse.pyc matches /usr/lib/python2.5/sre_parse.py
import sre_parse # precompiled from /usr/lib/python2.5/sre_parse.pyc
dlopen("/usr/lib/python2.5/lib-dynload/strop.so", 2);
import strop # dynamically loaded from
/usr/lib/python2.5/lib-dynload/strop.so
import imp # builtin
# /usr/lib/python2.5/tempfile.pyc matches /usr/lib/python2.5/tempfile.py
import tempfile # precompiled from /usr/lib/python2.5/tempfile.pyc
# /usr/lib/python2.5/random.pyc matches /usr/lib/python2.5/random.py
import random # precompiled from /usr/lib/python2.5/random.pyc
dlopen("/usr/lib/python2.5/lib-dynload/math.so", 2);
import math # dynamically loaded from /usr/lib/python2.5/lib-dynload/math.so
dlopen("/usr/lib/python2.5/lib-dynload/binascii.so", 2);
import binascii # dynamically loaded from
/usr/lib/python2.5/lib-dynload/binascii.so
dlopen("/usr/lib/python2.5/lib-dynload/_random.so", 2);
import _random # dynamically loaded from
/usr/lib/python2.5/lib-dynload/_random.so
dlopen("/usr/lib/python2.5/lib-dynload/fcntl.so", 2);
import fcntl # dynamically loaded from
/usr/lib/python2.5/lib-dynload/fcntl.so
import thread # builtin
# /usr/lib/python2.5/threading.pyc matches /usr/lib/python2.5/threading.py
import threading # precompiled from /usr/lib/python2.5/threading.pyc
dlopen("/usr/lib/python2.5/lib-dynload/time.so", 2);
import time # dynamically loaded from /usr/lib/python2.5/lib-dynload/time.so
# /usr/lib/python2.5/traceback.pyc matches /usr/lib/python2.5/traceback.py
import traceback # precompiled from /usr/lib/python2.5/traceback.pyc
dlopen("/usr/lib/python2.5/lib-dynload/collections.so", 2);
import collections # dynamically loaded from
/usr/lib/python2.5/lib-dynload/collections.so
dlopen("/usr/local/lib/python2.6/site-packages/_omnipymodule.so", 2);
import _omnipy # dynamically loaded from
/usr/local/lib/python2.6/site-packages/_omnipymodule.so
# /usr/local/lib/python2.6/site-packages/omniORB/CORBA.pyc has bad magic
import omniORB.CORBA # from
/usr/local/lib/python2.6/site-packages/omniORB/CORBA.py
# can't create /usr/local/lib/python2.6/site-packages/omniORB/CORBA.pyc
# /usr/local/lib/python2.6/site-packages/omniORB/tcInternal.pyc has bad
magic
import omniORB.tcInternal # from
/usr/local/lib/python2.6/site-packages/omniORB/tcInternal.py
# can't create /usr/local/lib/python2.6/site-packages/omniORB/tcInternal.pyc
# /usr/lib/python2.5/keyword.pyc matches /usr/lib/python2.5/keyword.py
import keyword # precompiled from /usr/lib/python2.5/keyword.pyc
# /usr/local/lib/python2.6/site-packages/omniORB/minorCodes.pyc has bad
magic
import omniORB.minorCodes # from
/usr/local/lib/python2.6/site-packages/omniORB/minorCodes.py
# can't create /usr/local/lib/python2.6/site-packages/omniORB/minorCodes.pyc
# /usr/local/lib/python2.6/site-packages/omniORB/PortableServer.pyc has
bad magic
import omniORB.PortableServer # from
/usr/local/lib/python2.6/site-packages/omniORB/PortableServer.py
# can't create
/usr/local/lib/python2.6/site-packages/omniORB/PortableServer.pyc
omniORB: Assertion failed. This indicates a bug in the application
using omniORB, or maybe in omniORB itself.
file: omnipy.cc
line: 444
info: PyDict_Check(omniPy::pyCORBAsysExcMap)
terminate called after throwing an instance of 'omniORB::fatalException'
Aborted
Duncan Grisby
2009-11-10 18:15:43 UTC
Permalink
Post by Tomas Brambora
Actually, running configure on omniORBpy finds Python2.6 (that's my
default) and omniORBpy gets installed as a Python2.6 package. Is there
any way of telling it to use Python2.5? I couldn't find it in the
configure script options.
That's why it doesn't work with Python 2.5. You can't mix binary modules
between Python versions.

You specify a different path to Python like this:

../configure PYTHON=/my/path/to/python

Cheers,

Duncan.
--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --
Tomas Brambora
2009-11-10 20:26:12 UTC
Permalink
Post by Duncan Grisby
Post by Tomas Brambora
Actually, running configure on omniORBpy finds Python2.6 (that's my
default) and omniORBpy gets installed as a Python2.6 package. Is there
any way of telling it to use Python2.5? I couldn't find it in the
configure script options.
That's why it doesn't work with Python 2.5. You can't mix binary modules
between Python versions.
../configure PYTHON=/my/path/to/python
Cheers,
Duncan.
Thanks for the answer. However when I configure && make && make install
omniORBpy with Python2.5, it gets copied to the correct path
("/usr/local/lib/python2.5/site-packages/omniORB"), but import omniORB
in python2.5 shell still accesses the package for python2.6. Which
happens because my PYTHONPATH is by default set to
"/usr/local/lib/python2.6/site-packages/".
Anyway, this seems to me to be rather an Ubuntu issue - trouble with
multiple co-exisitng Python versions.
Tomas Brambora
2009-11-10 20:30:49 UTC
Permalink
Post by Tomas Brambora
Post by Duncan Grisby
Post by Tomas Brambora
Actually, running configure on omniORBpy finds Python2.6 (that's my
default) and omniORBpy gets installed as a Python2.6 package. Is
there any way of telling it to use Python2.5? I couldn't find it in
the configure script options.
That's why it doesn't work with Python 2.5. You can't mix binary modules
between Python versions.
../configure PYTHON=/my/path/to/python
Cheers,
Duncan.
Thanks for the answer. However when I configure && make && make
install omniORBpy with Python2.5, it gets copied to the correct path
("/usr/local/lib/python2.5/site-packages/omniORB"), but import omniORB
in python2.5 shell still accesses the package for python2.6. Which
happens because my PYTHONPATH is by default set to
"/usr/local/lib/python2.6/site-packages/".
Anyway, this seems to me to be rather an Ubuntu issue - trouble with
multiple co-exisitng Python versions.
_______________________________________________
omniORB-list mailing list
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
Though, on the other hand
`import os; os.path.join(os.path.split(os.__file__)[0],
"site-packages")` in python2.5 returns
'/usr/lib/python2.5/site-packages' which is correct, but still imports
wrong omniORB...

Loading...