[Gluster-devel] hacks to workaround glupy.t failure
Emmanuel Dreyfus
manu at netbsd.org
Tue May 5 16:39:53 UTC 2015
Some ideas on NetBSD glupy.t failure, which may also have some
consequences on Linux
After http://review.gluster.org/10248/ was merged, glupy.py installation
path cnaged from @BUILD_PYTHON_SITE_PACKAGE@/gluster to
@BUILD_PYTHON_SITE_PACKAGE@/gluster/glupy
Since nothing cleans up @BUILD_PYTHON_SITE_PACKAGE@/gluster ,
nodes that ran previosu regression tests get two versions of glupy.py,
one being outdated:
/usr/lib/python2.6/site-packages/gluster/glupy/glupy.py
/usr/lib/python2.6/site-packages/gluster/glupy/glupy.pyo
/usr/lib/python2.6/site-packages/gluster/glupy/__init__.py
/usr/lib/python2.6/site-packages/gluster/glupy/__init__.pyc
/usr/lib/python2.6/site-packages/gluster/glupy/glupy.pyc
/usr/lib/python2.6/site-packages/gluster/glupy/__init__.pyo
/usr/lib/python2.6/site-packages/gluster/glupy.py
/usr/lib/python2.6/site-packages/gluster/glupy.pyo
/usr/lib/python2.6/site-packages/gluster/__init__.py
/usr/lib/python2.6/site-packages/gluster/__init__.pyc
/usr/lib/python2.6/site-packages/gluster/glupy.pyc
/usr/lib/python2.6/site-packages/gluster/__init__.pyo
Cleaning oudated /usr/lib/python2.6/site-packages/gluster/* helps
a bit, I get further:
Attmepting to load helloworld.py on the command line produces this
Traceback (most recent call last):
File "xlators/features/glupy/examples/helloworld.py", line 2, in <module>
from gluster.glupy import *
ImportError: No module named gluster.glupy
I am not sur ehow it is suppsoed to work, but that is enough to get it
to pass this:
cd /usr/pkg/lib/python2.7/site-packages/gluster/
cp glupy/glupy.py ./__init__.py
Next problem:
Traceback (most recent call last):
File "xlators/features/glupy/examples/helloworld.py", line 2, in <module>
from gluster.glupy import *
File "/usr/pkg/lib/python2.7/site-packages/gluster/__init__.py", line 15, in <module>
dl = CDLL(os.getenv("PATH_GLUSTERFS_GLUPY_MODULE", ""),RTLD_GLOBAL)
File "/usr/pkg/lib/python2.7/ctypes/__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /autobuild/install/lib/libglusterfs.so.0: Undefined PLT symbol "backtrace" (symnum = 21)
I try
export LD_PRELOAD=/usr/pkg/lib/libexecinfo.so which contains the missing
symbol. I get:
Traceback (most recent call last):
File "xlators/features/glupy/examples/helloworld.py", line 4, in <module>
class xlator (Translator):
NameError: name 'Translator' is not defined
Right, this is hack city!
cd /usr/pkg/lib/python2.7/site-packages/gluster
cat glupy/glupy.py >> glupy/__init__.py
helloworld.py loads on the command line, and glupy.t passes:
Running tests in file ./tests/features/glupy.t
[16:38:58] ./tests/features/glupy.t ..
[16:38:58] ./tests/features/glupy.t .. ok 6004 ms
[16:39:04]
All tests successful.
Files=1, Tests=6, 6 wallclock secs ( 0.03 usr 0.05 sys + 0.19 cusr 2.36 csys = 2.63 CPU)
Result: PASS
Anyone knwoledgable with python can help doing the clean fixes?
--
Emmanuel Dreyfus
manu at netbsd.org
More information about the Gluster-devel
mailing list