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....@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@python.org > https://mail.python.org/mailman/listinfo/pypy-dev > _______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev