[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