[New-bugs-announce] [issue44220] PyStructSequence_UnnamedField unavailable on Windows
John Nelson
report at bugs.python.org
Sun May 23 19:40:00 EDT 2021
New submission from John Nelson <john at jnelson.ca>:
The symbol "PyStructSequence_UnnnamedField" is not *explicitly* marked for export, causing it to be omitted from python3x.dll on Windows -- and thus unavailable to Windows extension modules.
Attempting to use this symbol then fails at link time:
test.obj : error LNK2001: unresolved external symbol PyStructSequence_UnnamedField
build\lib.win-amd64-3.7\test.cp39-win_amd64.pyd : fatal error LNK1120: 1 unresolved externals
The fact that the symbol is missing can also be demonstrated via ctypes:
import ctypes
from pathlib import Path
import sys
python_dll = ctypes.CDLL(str(Path(sys.executable).parent / 'python3.dll'))
# These don't raise at all
python_dll.PyTuple_Type
python_dll.PyStructSequence_New
# Raises AttributeError
python_dll.PyStructSequence_UnnamedField
----------
components: Interpreter Core, Windows
messages: 394226
nosy: johnboy2, paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: PyStructSequence_UnnamedField unavailable on Windows
type: behavior
versions: Python 3.7, Python 3.9
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue44220>
_______________________________________
More information about the New-bugs-announce
mailing list