-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cython project cannot open shared object file for third party .so #160
Comments
The libcuBERT.so is placed under a customized directory. I run auditwheel by
|
Can you post the output of |
Sure, I attach the output here. |
So it says that it's loading
Is it possible that you're running python in the same directory as your original un-repaired |
Oh yes, that is the reason! But after I remove the original cuBERT.so and run import again, it says
How to fix that? |
This time, the output for |
I find out that I use patchelf 0.9 which has a bug in NixOS/patchelf#84. After upgraded to 0.10, it is OK now. Thanks for your help! |
Hi, I have a third party .so named libcuBERT.so and write cython project to wrap it. I successfully build and auditwheel it as:
But after I install the wheel as
pip install
, and import it from python, thelibcuBERT.so
still can not be found:I have checked the audited
cuBERT.so
, and it seems nothing wrong:readelf --dynamic wheelhouse/cuBERT.so Dynamic section at offset 0x491c0 contains 31 entries: Tag Type Name/Value 0x000000000000000f (RPATH) Library rpath: [$ORIGIN/.libscuBERT] 0x0000000000000001 (NEEDED) Shared library: [libcuBERT-d011984c.so] 0x0000000000000001 (NEEDED) Shared library: [libpython2.7.so.1.0] 0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6] 0x0000000000000001 (NEEDED) Shared library: [libm.so.6] 0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1] 0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000c (INIT) 0x3070 0x000000000000000d (FINI) 0x11124 0x0000000000000019 (INIT_ARRAY) 0x214000 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes) 0x000000000000001a (FINI_ARRAY) 0x214008 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes) 0x000000006ffffef5 (GNU_HASH) 0x1b8 0x0000000000000005 (STRTAB) 0x2173f0 0x0000000000000006 (SYMTAB) 0x1f8 0x000000000000000a (STRSZ) 2138 (bytes) 0x000000000000000b (SYMENT) 24 (bytes) 0x0000000000000003 (PLTGOT) 0x214350 0x0000000000000002 (PLTRELSZ) 1920 (bytes) 0x0000000000000014 (PLTREL) RELA 0x0000000000000017 (JMPREL) 0x28f0 0x0000000000000007 (RELA) 0x1678 0x0000000000000008 (RELASZ) 4728 (bytes) 0x0000000000000009 (RELAENT) 24 (bytes) 0x000000006ffffffe (VERNEED) 0x1658 0x000000006fffffff (VERNEEDNUM) 1 0x000000006ffffff0 (VERSYM) 0x1568 0x000000006ffffff9 (RELACOUNT) 162 0x0000000000000000 (NULL) 0x0
The cython
setup.py
looks like:And the original wheel package before auditwheel is like:
The text was updated successfully, but these errors were encountered: