* swift/obj/diskfile.py imports the xattr module
* xattr is Python binding of the libxattr library, it is implemented with cffi
* if available, cffi uses the compiled module. For example, on my DevStack it's the file /usr/local/lib/python2.7/dist-packages/xattr/_cffi__x282d9483x6ee6f75.so (xattr 0.7.5, cffi 0.9.2)
* the compiled module is missing, cffi tries to write a C code to compile it as a library, but it fails to write the file, probably because the directory doesn't exist: /usr/local/lib/python2.7/dist-packages/xattr/__pycache__/_cffi__x282d9483x6ee6f75.c
* (cffi tries to create the directory, but ignores any OS error)
The "_cffi__(...).so" library is created at the installation of the cffi module.
There is no wheel package for xattr. DevStack builds a local wheel package for xattr. The wheel package contains the .so library, but it's not installed in the path expected by cffi. cffi looks in the .../xattr/__pycache__/ directory, whereas it is written in .../xattr/.
Description of the traceback:
* swift/obj/ diskfile. py imports the xattr module lib/python2. 7/dist- packages/ xattr/_ cffi__x282d9483 x6ee6f75. so (xattr 0.7.5, cffi 0.9.2) lib/python2. 7/dist- packages/ xattr/_ _pycache_ _/_cffi_ _x282d9483x6ee6 f75.c
* xattr is Python binding of the libxattr library, it is implemented with cffi
* if available, cffi uses the compiled module. For example, on my DevStack it's the file /usr/local/
* the compiled module is missing, cffi tries to write a C code to compile it as a library, but it fails to write the file, probably because the directory doesn't exist: /usr/local/
* (cffi tries to create the directory, but ignores any OS error)
The "_cffi__(...).so" library is created at the installation of the cffi module.
There is no wheel package for xattr. DevStack builds a local wheel package for xattr. The wheel package contains the .so library, but it's not installed in the path expected by cffi. cffi looks in the .../xattr/ __pycache_ _/ directory, whereas it is written in .../xattr/.