python / python/cpython

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

Ouverte
#150,467 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

build OS-windows type-bug
Langage dominant
Python
Étoiles
77.2k
Forks
35.9k
Métriques de merge des PR
Métriques de PR en attente

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez dans PCBuild et sur la cible python3tdll.vcxproj, en reproduisant l’échec avec VS2022, ASan et la commande de compilation fournis. Comparez le commit 10f950c9bb0ff4583f361a42aaed562b330e1dba au commit 9846407eaf385917d134ef5e3700c57c59f67684 afin d’identifier la modification de la configuration du linker Windows ; le travail est terminé lorsque la compilation x64 avec ASan s’achève sans unresolved externals.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
build-system
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.