libgpilog.so: undefined symbol: PyGILState_Release
See original GitHub issueGreetings. Current master (currently at 5a53f6b) is broken for me (Arch Linux w/ Python 3.8.5).
E.g., running test_vhdl_access
returns:
[...]
/usr/bin/ghdl -r --workdir=sim_build --work=dec_viterbi dec_viterbi_ent --vpi=/home/nicola/.local/lib/python3.8/site-packages/cocotb/libs/libcocotbvpi_ghdl.so
loading VPI module '/home/nicola/.local/lib/python3.8/site-packages/cocotb/libs/libcocotbvpi_ghdl.so'
/home/nicola/.local/lib/python3.8/site-packages/cocotb/libs/libgpilog.so: undefined symbol: PyGILState_Release
/usr/bin/ghdl:error: cannot load VPI module
[...]
Same for iverilog. git bisect tells me that the responsible commit is 606f2485b082c917195f20b7e5b23ad8dcacd82a by @tpambor (indeed, reverting 606f2485b082c917195f20b7e5b23ad8dcacd82a and ef181522e26c4da6d52ed9443fcbf775155098d5 fixes the issue).
Issue Analytics
- State:
- Created 3 years ago
- Comments:16 (16 by maintainers)
Top Results From Across the Web
Python/C++ Extension, Undefined symbol error when linking a ...
I've installed glfw from its website and simply extracted it to lib/ directory. Then I ran cmake -G "Unix Makefiles" followed by make...
Read more >1303752 – undefined symbols of blacs libraries on EPEL7
Undefined symbols : $ ldd -r libmpiblacs.so.2 linux-vdso.so.1 (0x00007ffe8a5e5000) libmpi_f77.so.1 => not found libmpi.so.1 => not found ...
Read more >DataStage job with Oracle EE stage fails with error, Could not ...
The 32bit client is not installed correctly due to the error /opt/oracle/product/10.2.0/db_1/lib32/libclntsh.so.10.1: undefined symbol: nnftboot error.
Read more >Xcode "Undefined Symbol : _CGSizeFromGADAdSize" Error
After generating a unity build which works fine in the editor, I get this error in the title when I try to archive...
Read more >ffmpeg undefined symbol: mpg123_param2 on - Ask Ubuntu
ffmpeg -version ffmpeg: symbol lookup error: /lib/x86_64-linux-gnu/libopenmpt.so.0: undefined symbol: mpg123_param2.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Lazy binding of global data does not work but the solution here would be that the embedding library is linked to
libpython
, therefore no runtime loading, lazy binding, etc. here but we still have control over loadinglibpython
if we load it before the first library dependent onlibpython
is loaded. If the embedding library is loaded, it will skip loadinglibpython
from disk because these symbols are already present in the process space.I’m fine with reverting.
Archlinux:
Debian:
On Archlinux non-PLT relocations (
R_X86_64_GLOB_DAT
) are used for python symbols which cannot be lazy bound whereas on Debian PLT relocations (R_X86_64_JUMP_SLO
) are used.Archlinux passes:
-Wl,-z,now
: