Trying to run a “superbuild” that is derived from the “superbuild” of PV 5.15.3, generating a Windows installer for a PV derived application (same version), on Windows 11.
There is a need to include a precompiled binary that was built with MSVC 2022 because only then binary compatibility between different parts also with older build tools (down to 2015) is given. Some issues could already be solved, but this one looks really hard:
[444/511] Install pybind11 for pip
FAILED: superbuild/pybind11/stamp/pybind11-pybind11-pip-install C:/dev/atgview/pack/superbuild/pybind11/stamp/pybind11-pybind11-pip-install
C:\Windows\system32\cmd.exe /C "cd /D C:\dev\atgview\pack\superbuild\pybind11\src && "C:\Program Files\CMake\bin\cmake.exe" -E env --modify PYTHONPATH=path_list_prepend:C:/dev/atgview/pack/install/Python/Lib/site-packages -- C:/dev/atgview/pack/install/Python/python.exe -m pip install --no-index --no-deps --no-build-isolation --root=C:/dev/atgview/pack/install --prefix=Python C:/dev/atgview/pack/superbuild/pybind11/src && "C:\Program Files\CMake\bin\cmake.exe" -E touch C:/dev/atgview/pack/superbuild/pybind11/stamp/pybind11-pybind11-pip-install"
Processing c:\dev\atgview\pack\superbuild\pybind11\src
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error
Preparing metadata (pyproject.toml) did not run successfully.
exit code: 1
[48 lines of output]
-- Building for: Visual Studio 14 2015
CMake Deprecation Warning at CMakeLists.txt:13 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:49 (project):
No CMAKE_CXX_COMPILER could be found.
-- Configuring incomplete, errors occurred!
Traceback (most recent call last):
File "<string>", line 117, in remove_output
File "<string>", line 139, in <module>
File "C:\dev\atgview\pack\install\Python\lib\subprocess.py", line 526, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['cmake', '-S', '.', '-B', 'C:\\Users\\cornelis\\AppData\\Local\\Temp\\tmpwxr6vycd', '-DCMAKE_INSTALL_PREFIX=pybind11', '-DBUILD_TESTING=OFF', '-DPYBIND11_NOPYTHON=ON', '-Dprefix_for_pc_file=${pcfiledir}/../../']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\dev\atgview\pack\install\Python\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
main()
File "C:\dev\atgview\pack\install\Python\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "C:\dev\atgview\pack\install\Python\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 149, in prepare_metadata_for_build_wheel
return hook(metadata_directory, config_settings)
File "C:\dev\atgview\pack\install\Python\Lib\site-packages\setuptools\build_meta.py", line 396, in prepare_metadata_for_build_wheel
self.run_setup()
File "C:\dev\atgview\pack\install\Python\Lib\site-packages\setuptools\build_meta.py", line 341, in run_setup
exec(code, locals())
File "<string>", line 123, in <module>
File "C:\dev\atgview\pack\install\Python\lib\contextlib.py", line 153, in __exit__
self.gen.throw(typ, value, traceback)
File "<string>", line 120, in remove_output
File "C:\dev\atgview\pack\install\Python\lib\shutil.py", line 750, in rmtree
return _rmtree_unsafe(path, onerror)
File "C:\dev\atgview\pack\install\Python\lib\shutil.py", line 601, in _rmtree_unsafe
onerror(os.scandir, path, sys.exc_info())
File "C:\dev\atgview\pack\install\Python\lib\shutil.py", line 598, in _rmtree_unsafe
with os.scandir(path) as scandir_it:
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'pybind11/include'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
Encountered error while generating package metadata.
See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
[
On line 13, this message (from ninja) tells me that it is trying to “build” something with MSVC 2015, and then it does not find an appropriate compiler. Well yes: no MSVC 2015 compiler is present on that computer. Now I guess I have two options:
- Either try to change the request for that old compiler “somehow”. Problem: I tried for several days now, but I did not find out where this request is really coming from
- Or install a MSVC 2015 build system. Which however is no longer supported and is “deprecated since October 2025”
Actually I would prefer to go for the first version, because I assume that the code should compile also with newer (and installed) compilers, but as I said: So far I did not succeed to find out where that request is coming from! Somehow the entire process is in a nested call that tries to do a build through a python function that is called by… whatever… - the entire thing being the result of a cmake run that again is nested in many complicated ways