pybind11
pybind11 copied to clipboard
[BUG]: pybind11 failed to build due to ImportError: DLL load failed while importing test_cmake_build on windows with MSVC ASAN
Required prerequisites
- [X] Make sure you've read the documentation. Your issue may be addressed there.
- [X] Search the issue tracker and Discussions to verify that this hasn't already been reported. +1 or comment there if it has.
- [X] Consider asking first in the Gitter chat room or in a Discussion.
What version (or hash if on master) of pybind11 are you using?
19a6b9f
Problem description
Hi,
pybind11 failed to build due to ImportError: DLL load failed while importing test_cmake_build on windows with MSVC ASAN. It can be reproduced on commit https://github.com/pybind/pybind11/commit/19a6b9f4efb569129c878b7f8db09132248fbaa1 on master branch. Could you please help look at this issue? Thanks in advance.
Steps to reproduce the behavior:
- git clone https://github.com/pybind/pybind11 C:\gitP\pybind\pybind11
- Open a VS2022 x64 cmd
- set CL= /fsanitize=address /GS- /wd5072 & set LINK= /InferASanLibs /incremental:no /debug cd C:\gitP\pybind\pybind11 && mkdir build_amd64 && cd build_amd64
- python.exe -m pip install -r tests/requirements.txt
- cmake -G "Visual Studio 17 2022" -A x64 -DCMAKE_SYSTEM_VERSION=10.0.22621.0 -DPython_EXECUTABLE=C:\Python311\python.exe ..
- msbuild /m /p:Platform=x64 /p:Configuration=Release pybind11.sln /t:Rebuild
Error Message: 17>CustomBuild: Internal cmake changing into directory: C:/gitP/pybind/pybind11/build_amd64/tests/test_cmake_build/subdirectory_target ======== CMake output ====== Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.20348. The CXX compiler identification is MSVC 19.41.34102.96 Detecting CXX compiler ABI info Detecting CXX compiler ABI info - done Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe - skipped Detecting CXX compile features Detecting CXX compile features - done pybind11 v2.13.0 dev1 Found Python: C:\Python311\python.exe (found suitable version "3.11.4", minimum required is "3.6") found components: Interpreter Development.Module Development.Embed Performing Test HAS_MSVC_GL_LTCG Performing Test HAS_MSVC_GL_LTCG - Success Configuring done (3.6s) Generating done (0.0s) Build files have been written to: C:/gitP/pybind/pybind11/build_amd64/tests/test_cmake_build/subdirectory_target ======== End CMake output ====== Change Dir: 'C:/gitP/pybind/pybind11/build_amd64/tests/test_cmake_build/subdirectory_target'
Run Build Command(s): "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/MSBuild/Current/Bin/amd64/MSBuild.exe" check_subdirectory_target.vcxproj /p:Configuration=Release /p:Platform=x64 /p:VisualStudioVersion=17.0 /v:m
MSBuild version 17.10.4+10fbfbf2e for .NET Framework
1>Checking Build System
Building Custom Rule C:/gitP/pybind/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt
17>cl : command line warning D9025: overriding '/GS' with '/GS-' [C:\gitP\pybind\pybind11\build_amd64\tests\test_cmake_build\subdirectory_target\test_subdirectory_target.vcxproj] [C:\gitP\pybind\pybind11\build_amd64\tests\test_cmake_build\test_build_subdirectory_target.vcxproj]
main.cpp
Creating library C:/gitP/pybind/pybind11/build_amd64/tests/test_cmake_build/subdirectory_target/Release/test_cmake_build.lib and object C:/gitP/pybind/pybind11/build_amd64/tests/test_cmake_build/subdirectory_target/Release/test_cmake_build.exp
test_subdirectory_target.vcxproj -> C:\gitP\pybind\pybind11\build_amd64\tests\test_cmake_build\subdirectory_target\Release\test_cmake_build.cp311-win_amd64.pyd
1>
Traceback (most recent call last):
File "C:\gitP\pybind\pybind11\tests\test_cmake_build\test.py", line 3, in <module>
import test_cmake_build
**ImportError: DLL load failed while importing test_cmake_build: The specified module could not be found.
The system cannot find the batch label specified - VCEnd**
17>C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(237,5): error MSB8066: Custom build for 'C:\gitP\pybind\pybind11\build_amd64\tests\test_cmake_build\subdirectory_target\CMakeFiles\ebc2369a84847dd293a43f7c55032ecd\check_subdirectory_target.rule' exited with code 1. [C:\gitP\pybind\pybind11\build_amd64\tests\test_cmake_build\subdirectory_target\check_subdirectory_target.vcxproj] [C:\gitP\pybind\pybind11\build_amd64\tests\test_cmake_build\test_build_subdirectory_target.vcxproj]
The system cannot find the batch label specified - VCEnd
17>C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(237,5): **error MSB8066: Custom build** for 'C:\gitP\pybind\pybind11\build_amd64\CMakeFiles\51bbd34823709d98a279260beab39c00\test_build_subdirectory_target.rule' exited with code 1. [C:\gitP\pybind\pybind11\build_amd64\tests\test_cmake_build\test_build_subdirectory_target.vcxproj]
17>Done Building Project "C:\gitP\pybind\pybind11\build_amd64\tests\test_cmake_build\test_build_subdirectory_target.vcxproj" (Rebuild target(s)) -- FAILED.
Steps to reproduce the behavior:
Reproducible example code
No response
Is this a regression? Put the last known working version here if it is.
Not a regression