[pypy-dev] cffi dlopen error: undefined symbol

Yicong Huang hengha.mao at gmail.com
Wed Jul 8 11:09:37 CEST 2015


We tried to use cffi dlopen to load a C shared library.
However, we met the below error message:
Traceback (most recent call last):
  File "<builtin>/app_main.py", line 75, in run_toplevel
  File "distcache.py", line 19, in <module>
    _distcache = ffi.dlopen("./_distcache.so")
  File "/usr/ali/odps-pypy/lib_pypy/cffi/api.py", line 126, in dlopen
    lib, function_cache = _make_ffi_library(self, name, flags)
  File "/usr/ali/odps-pypy/lib_pypy/cffi/api.py", line 498, in
    backendlib = _load_backend_lib(backend, libname, flags)
  File "/usr/ali/odps-pypy/lib_pypy/cffi/api.py", line 487, in
    return backend.load_library(name, flags)
OSError: Cannot load library ./_distcache.so: ./_distcache.so: undefined
symbol: _ZTIN6apsara13ExceptionBaseE

Checking the library, there are not speical dependent libraries:
ldd _distcache.so
        linux-vdso.so.1 =>  (0x00007fff16fe5000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f7b60ba7000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f7b60924000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f7b60715000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f7b603bd000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003fe9800000)

What might be the cause?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pypy-dev/attachments/20150708/1cb44cfe/attachment.html>

More information about the pypy-dev mailing list