[pypy-dev] cffi dlopen error: undefined symbol

Maciej Fijalkowski fijall at gmail.com
Wed Jul 8 11:14:38 CEST 2015


you should probably use verify instead of dlopen. This symbol is
likely defined in libstdc++, which is not loaded in pypy (you might
try to load it by hand, but I'm way out of my depth here)

On Wed, Jul 8, 2015 at 11:09 AM, Yicong Huang <hengha.mao at gmail.com> wrote:
> Hi,
>
> 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
> _make_ffi_library
>     backendlib = _load_backend_lib(backend, libname, flags)
>   File "/usr/ali/odps-pypy/lib_pypy/cffi/api.py", line 487, in
> _load_backend_lib
>     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?
>
> Thanks!
>
> _______________________________________________
> pypy-dev mailing list
> pypy-dev at python.org
> https://mail.python.org/mailman/listinfo/pypy-dev
>


More information about the pypy-dev mailing list