python / python/cpython

[Asan + msvc] Cpython build failed with error LNK2001: unresolved external symbol on windows

Offen
#150,467 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

build OS-windows type-bug
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Bug report

Bug description:

Cpython build failed with error LNK2001: unresolved external symbol on windows, this error looks start from commit 10f950c9bb0ff4583f361a42aaed562b330e1dba, the previous commit 9846407eaf385917d134ef5e3700c57c59f67684 built successfully.

Repro steps:

1.	git clone https://github.com/python/cpython
2.	Open VS2022 x64 CMD & set _CL_= /fsanitize=address /GS- /wd5072 & set _LINK_= /InferASanLibs /incremental:no /debug
3.	cd /d C:\gitP\python\cpython\PCBuild
4.	get_externals.bat --clean-only
5.	build -e -p x64 -r --no-tkinter -v "/p:PlatformToolset=v143" "/p:WindowsTargetPlatformVersion=10.0.26100.0"

Failures

(Link target) -> 
         clang_rt.asan_dynamic_runtime_thunk-x86_64.lib(sanitizer_win_thunk_interception.cpp.obj) : error LNK2001: unresolved external symbol abort [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         clang_rt.asan_dynamic_runtime_thunk-x86_64.lib(asan_win_dynamic_runtime_thunk.cpp.obj) : error LNK2001: unresolved external symbol _initterm [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_initialize [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_uninitialize [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_uninitialize_critical [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_thread_attach [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_thread_detach [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _seh_filter_dll [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _is_c_termination_complete [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _configure_narrow_argv [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _initialize_narrow_environment [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _initialize_onexit_table [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _register_onexit_function [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _execute_onexit_table [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _crt_atexit [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _crt_at_quick_exit [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_initialize [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_uninitialize [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_uninitialize_critical [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_thread_attach [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_thread_detach [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _cexit [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __C_specific_handler [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __C_specific_handler [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility_desktop.obj) : error LNK2001: unresolved external symbol terminate [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility_desktop.obj) : error LNK2001: unresolved external symbol __current_exception [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility_desktop.obj) : error LNK2001: unresolved external symbol __current_exception_context [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol strstr [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol wcsstr [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp_wcscpy_s [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp_wcsncpy_s [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp_wcsnlen [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp_strnlen [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp_calloc [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp_free [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp_malloc [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp___acrt_iob_func [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vswprintf_s [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vfprintf [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol wmemcpy_s [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4 [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(gshandlereh4.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4 [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol memcpy [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol wcsncmp [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         C:\gitP\python\cpython\PCbuild\amd64\python3t.dll : fatal error LNK1120: 42 unresolved externals [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         clang_rt.asan_dynamic_runtime_thunk-x86_64.lib(sanitizer_win_thunk_interception.cpp.obj) : error LNK2001: unresolved external symbol abort [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         clang_rt.asan_dynamic_runtime_thunk-x86_64.lib(asan_win_dynamic_runtime_thunk.cpp.obj) : error LNK2001: unresolved external symbol _initterm [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_initialize [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_uninitialize [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_uninitialize_critical [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_thread_attach [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_thread_detach [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _seh_filter_dll [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _is_c_termination_complete [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _configure_narrow_argv [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _initialize_narrow_environment [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _initialize_onexit_table [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _register_onexit_function [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _execute_onexit_table [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _crt_atexit [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _crt_at_quick_exit [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_initialize [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_uninitialize [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_uninitialize_critical [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_thread_attach [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __acrt_thread_detach [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol _cexit [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __C_specific_handler [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __C_specific_handler [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility_desktop.obj) : error LNK2001: unresolved external symbol terminate [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility_desktop.obj) : error LNK2001: unresolved external symbol __current_exception [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(utility_desktop.obj) : error LNK2001: unresolved external symbol __current_exception_context [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol strstr [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol wcsstr [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp_wcscpy_s [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp_wcsncpy_s [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp_wcsnlen [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp_strnlen [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp_calloc [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp_free [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp_malloc [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp___acrt_iob_func [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vswprintf_s [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __imp___stdio_common_vfprintf [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol wmemcpy_s [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4 [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         MSVCRT.lib(gshandlereh4.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4 [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol memcpy [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         VCASAN.lib(vcasan.obj) : error LNK2001: unresolved external symbol wcsncmp [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]
         C:\gitP\python\cpython\PCbuild\amd64\python3t.dll : fatal error LNK1120: 42 unresolved externals [C:\gitP\python\cpython\PCbuild\python3tdll.vcxproj]

CPython versions tested on:

CPython main branch

Operating systems tested on:

Windows

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne in PCBuild und im Ziel python3tdll.vcxproj und reproduziere den Fehler mit dem bereitgestellten VS2022, ASan und Build-Befehl. Vergleiche den Commit 10f950c9bb0ff4583f361a42aaed562b330e1dba mit 9846407eaf385917d134ef5e3700c57c59f67684, um die Änderung an der Windows-Linker-Konfiguration zu ermitteln; abgeschlossen ist die Aufgabe, wenn der x64-ASan-Build ohne unresolved externals erfolgreich abgeschlossen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
build-system
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.