wlav / cppyy

Other
384 stars 38 forks source link

Not working on Windows #208

Open michaelsmolinski opened 5 months ago

michaelsmolinski commented 5 months ago

Tried install/uninstall on Windows (x64) multiple times

Test code was 1 line: import cppyy

Here is the vscode output from the attempt:

**Exception has occurred: RuntimeError**
could not load cppyy_backend library, details:
  Could not find module 'C:\Users\micha\AppData\Local\Programs\Python\Python312\Lib\site-packages\cppyy_backend\lib\libcppyy_backend.cp312-win_amd64.pyd' (or one of its dependencies). Try using the full path with constructor syntax.
  Could not find module 'libcppyy_backend.cp312-win_amd64.pyd' (or one of its dependencies). Try using the full path with constructor syntax.
  [WinError 1114] A dynamic link library (DLL) initialization routine failed
  Could not find module 'libcppyy_backend.dll' (or one of its dependencies). Try using the full path with constructor syntax.
  File "C:\x\test.py", line 1, in <module>
    import cppyy
RuntimeError: could not load cppyy_backend library, details:
  Could not find module 'C:\Users\micha\AppData\Local\Programs\Python\Python312\Lib\site-packages\cppyy_backend\lib\libcppyy_backend.cp312-win_amd64.pyd' (or one of its dependencies). Try using the full path with constructor syntax.
  Could not find module 'libcppyy_backend.cp312-win_amd64.pyd' (or one of its dependencies). Try using the full path with constructor syntax.
  [WinError 1114] A dynamic link library (DLL) initialization routine failed
  Could not find module 'libcppyy_backend.dll' (or one of its dependencies). Try using the full path with constructor syntax.

terminal output:

Copyright (C) Microsoft Corporation. All rights reserved.

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows

PS C:\x>  & 'C:\Users\micha\AppData\Local\Programs\Python\Python312\python.exe' 'c:\Users\micha\.vscode\extensions\ms-python.python-2023.22.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher' '56803' '--' 'C:\x\test.py' 
(Re-)building pre-compiled headers (options: -O2 -march=native); this may take a minute ...
0.02s - Debugger warning: It seems that frozen modules are being used, which may
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
0.00s - to python to disable frozen modules.
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.
In file included from input_line_1:1:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\new:10:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\exception:12:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1396:5: error: expected a type     
    _Copy_cv_impl<_From>::template _Apply<_To>;
    ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1396:27: error: expected ';' after alias declaration
    _Copy_cv_impl<_From>::template _Apply<_To>;
                          ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1401:20: error: no template named '_Copy_cv'
    using _Apply = _Copy_cv<_Ty1, _Ty2>;
                   ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1406:43: error: use of undeclared identifier '_Copy_cv'
    using _Apply = add_lvalue_reference_t<_Copy_cv<_Ty1, _Ty2>>;
                                          ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1411:43: error: use of undeclared identifier '_Copy_cv'
    using _Apply = add_rvalue_reference_t<_Copy_cv<_Ty1, _Ty2>>;
                                          ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1446:28: error: missing 'typename' prior to dependent type name 'common_reference<_Types...>::type'
using common_reference_t = common_reference<_Types...>::type;
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1473:31: error: missing 'typename' prior to dependent type name 'basic_common_reference<typename remove_cv<typename
      remove_reference<type-parameter-0-0>::type>::type, typename remove_cv<typename remove_reference<type-parameter-0-1>::type>::type,  
      _Add_qualifiers<_Ty1>::template _Apply, _Add_qualifiers<_Ty2>::template _Apply>::type'
using _Basic_specialization = basic_common_reference<remove_cvref_t<_Ty1>, remove_cvref_t<_Ty2>,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1490:82: error: expected expression
template <class _Ty1, class _Ty2, class _Result = _Cond_res<_Copy_cv<_Ty1, _Ty2>&, _Copy_cv<_Ty2, _Ty1>&>,
                                                                                 ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1490:61: error: use of undeclared identifier '_Copy_cv'
template <class _Ty1, class _Ty2, class _Result = _Cond_res<_Copy_cv<_Ty1, _Ty2>&, _Copy_cv<_Ty2, _Ty1>&>,
                                                            ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1490:106: error: expected unqualified-id
template <class _Ty1, class _Ty2, class _Result = _Cond_res<_Copy_cv<_Ty1, _Ty2>&, _Copy_cv<_Ty2, _Ty1>&>,
                                                                                                         ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1498:50: error: use of undeclared identifier '_LL_common_ref'
struct _Common_reference2AX<_Ty1&, _Ty2&, void_t<_LL_common_ref<_Ty1, _Ty2>>> {
                                                 ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1503:81: error: use of undeclared identifier '_LL_common_ref'
struct _Common_reference2AX<_Ty1&&, _Ty2&, enable_if_t<is_convertible_v<_Ty1&&, _LL_common_ref<const _Ty1, _Ty2>>>> {
                                                                                ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1508:81: error: use of undeclared identifier '_LL_common_ref'
struct _Common_reference2AX<_Ty1&, _Ty2&&, enable_if_t<is_convertible_v<_Ty2&&, _LL_common_ref<const _Ty2, _Ty1>>>> {
                                                                                ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1513:43: error: use of undeclared identifier '_LL_common_ref'
using _RR_common_ref = remove_reference_t<_LL_common_ref<_Ty1, _Ty2>>&&;
                                          ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1517:42: error: use of undeclared identifier '_RR_common_ref'
    enable_if_t<is_convertible_v<_Ty1&&, _RR_common_ref<_Ty1, _Ty2>>
                                         ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1518:45: error: use of undeclared identifier '_RR_common_ref'
                && is_convertible_v<_Ty2&&, _RR_common_ref<_Ty1, _Ty2>>>> {
                                            ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1523:27: error: missing 'typename' prior to dependent type name '_Common_reference2AX<_Ty1, _Ty2>::type'
using _Common_ref_2AX_t = _Common_reference2AX<_Ty1, _Ty2>::type;
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1550:25: error: missing 'typename' prior to dependent type name 'type_identity<_Ty>::type'
using type_identity_t = type_identity<_Ty>::type;
                        ^~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:2109:28: error: missing 'typename' prior to dependent type name 'unwrap_reference<_Ty>::type'
using unwrap_reference_t = unwrap_reference<_Ty>::type;
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from input_line_3:1:
In file included from ./include\RtypesCore.h:23:
C:/Users/micha/AppData/Local/Programs/Python/Python312/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\stddef.h:35:9: error: unknown type name '__PTRDIFF_TYPE__'
typedef __PTRDIFF_TYPE__ ptrdiff_t;
        ^
C:/Users/micha/AppData/Local/Programs/Python/Python312/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\stddef.h:46:9: error: unknown type name '__SIZE_TYPE__'
typedef __SIZE_TYPE__ size_t;
        ^
C:/Users/micha/AppData/Local/Programs/Python/Python312/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\stddef.h:74:9: error: unknown type name '__WCHAR_TYPE__'
typedef __WCHAR_TYPE__ wchar_t;
        ^
In file included from input_line_3:2:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string:8:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals_core.h:28:2: error: Error in C++ Standard Library usage
#error Error in C++ Standard Library usage
 ^
In file included from input_line_3:2:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string:8:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals_core.h:495:        
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vcruntime.h:58:
In file included from C:/Users/micha/AppData/Local/Programs/Python/Python312/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\vadefs.h:12:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vadefs.h:63:30: error: typedef redefinition with different types ('unsigned int' vs 'unsigned long long')
        typedef unsigned int uintptr_t;
                             ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vadefs.h: note: previous definition is here    
In file included from input_line_3:2:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string:8:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals_core.h:495:        
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vcruntime.h:197:30: error: typedef redefinition with different types ('unsigned int' vs 'unsigned long long')
    typedef unsigned int     size_t;
                             ^
C:/Users/micha/AppData/Local/Programs/Python/Python312/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\stddef.h: note: previous definition is here
In file included from input_line_3:2:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string:8:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals_core.h:495:        
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vcruntime.h:198:30: error: typedef redefinition with different types ('int' vs 'long long')
    typedef int              ptrdiff_t;
                             ^
C:/Users/micha/AppData/Local/Programs/Python/Python312/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\stddef.h: note: previous definition is here
In file included from input_line_3:2:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string:8:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals_core.h:495:        
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vcruntime.h:199:30: error: typedef redefinition with different types ('int' vs 'long long')
    typedef int              intptr_t;
                             ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vcruntime.h: note: previous definition is here 
In file included from input_line_3:2:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string:8:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals_core.h:495:        
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vcruntime.h:209:13: error: unknown type name '_Bool'
    typedef _Bool __vcrt_bool;
            ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vcruntime.h:228:22: error: 'short wchar_t' is invalid
    typedef unsigned short wchar_t;
                     ^
In file included from input_line_3:2:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string:10:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xstring:13:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\iosfwd:8:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals.h:20:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\crtdbg.h:12:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h:274:13: error: unknown type name '_Bool'
    typedef _Bool __crt_bool;
            ^
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h:610:16: error: redefinition of '__crt_locale_data_public'     
typedef struct __crt_locale_data_public
               ^
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\crtdbg.h: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h' included multiple times, additional include site here
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\crtdbg.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h' included multiple times, additional include site here
#include <corecrt.h>
         ^
In file included from input_line_3:2:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string:10:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xstring:13:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\iosfwd:8:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals.h:20:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\crtdbg.h:12:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h:617:16: error: redefinition of '__crt_locale_pointers'        
typedef struct __crt_locale_pointers
               ^
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\crtdbg.h: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h' included multiple times, additional include site here
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\crtdbg.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h' included multiple times, additional include site here
#include <corecrt.h>
         ^
In file included from input_line_3:2:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string:10:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xstring:13:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\iosfwd:8:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals.h:20:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\crtdbg.h:12:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h:625:16: error: redefinition of '_Mbstatet'
typedef struct _Mbstatet
               ^
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\crtdbg.h: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h' included multiple times, additional include site here
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\crtdbg.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h' included multiple times, additional include site here
#include <corecrt.h>
         ^
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\crtdbg.h:120:16: error: redefinition of '_CrtMemState'
typedef struct _CrtMemState
               ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals.h: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\crtdbg.h' included multiple times, additional include site here
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals.h:20:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\crtdbg.h' included multiple times, additional include site here
#include <crtdbg.h>
         ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals.h:347:41: error: redefinition of '_Lockit'
extern "C++" class _CRTIMP2_PURE_IMPORT _Lockit { // lock while object in existence -- MUST NEST
                                        ^
note: 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals.h' included multiple times, additional
      include site here
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\iosfwd:8:10: note: 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals.h' included multiple times, additional
      include site here
#include <yvals.h>
         ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\yvals.h: note: unguarded header; consider using #ifdef guards or #pragma once
In file included from input_line_3:2:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string:10:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xstring:13:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\iosfwd:11:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\cstdio:11:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdio.h:13:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt_wstdio.h:13:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt_stdio_config.h:35:10: error: Unsupported architecture
        #error Unsupported architecture
         ^
In file included from input_line_3:2:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string:10:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xstring:13:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\iosfwd:11:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\cstdio:11:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdio.h:13:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt_wstdio.h:323:16: error: no matching function for call to '_vfwprintf_l'
        return _vfwprintf_l(_Stream, _Format, NULL, _ArgList);
               ^~~~~~~~~~~~
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt_wstdio.h:299:37: note: candidate function not viable: cannot convert argument of incomplete type 'void *' to 'const _locale_t'
      (aka '__crt_locale_pointers *const') for 3rd argument
    _CRT_STDIO_INLINE int __CRTDECL _vfwprintf_l(
                                    ^
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt_wstdio.h:354:20: error: no matching function for call to '_vfwprintf_s_l'
            return _vfwprintf_s_l(_Stream, _Format, NULL, _ArgList);
                   ^~~~~~~~~~~~~~
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt_wstdio.h:328:37: note: candidate function not viable: cannot convert argument of incomplete type 'void *' to 'const _locale_t'
      (aka '__crt_locale_pointers *const') for 3rd argument
    _CRT_STDIO_INLINE int __CRTDECL _vfwprintf_s_l(
                                    ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
In file included from input_line_4:1:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\assert.h:12:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h:10:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vcruntime.h:58:
In file included from C:/Users/micha/AppData/Local/Programs/Python/Python312/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\vadefs.h:12:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vadefs.h:63:30: error: typedef redefinition with different types ('unsigned int' vs 'unsigned long long')
        typedef unsigned int uintptr_t;
                             ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vadefs.h: note: previous definition is here    
In file included from input_line_4:1:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\assert.h:12:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h:10:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vcruntime.h:197:30: error: typedef redefinition with different types ('unsigned int' vs 'unsigned long long')
    typedef unsigned int     size_t;
                             ^
note: previous definition is here
In file included from input_line_4:1:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\assert.h:12:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h:10:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vcruntime.h:198:30: error: typedef redefinition with different types ('int' vs 'long long')
    typedef int              ptrdiff_t;
                             ^
note: previous definition is here
In file included from input_line_4:1:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\assert.h:12:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h:10:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vcruntime.h:199:30: error: typedef redefinition with different types ('int' vs 'long long')
    typedef int              intptr_t;
                             ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vcruntime.h: note: previous definition is here 
In file included from input_line_4:1:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\assert.h:12:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h:10:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vcruntime.h:209:13: error: unknown type name '_Bool'
    typedef _Bool __vcrt_bool;
            ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\vcruntime.h:228:22: error: 'short wchar_t' is invalid
    typedef unsigned short wchar_t;
                     ^
In file included from input_line_4:1:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\assert.h:12:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h:274:13: error: unknown type name '_Bool'
    typedef _Bool __crt_bool;
            ^
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h:610:16: error: redefinition of '__crt_locale_data_public'     
typedef struct __crt_locale_data_public
               ^
note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h' included multiple times, additional include site here 
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\assert.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h' included multiple times, additional include site here
#include <corecrt.h>
         ^
In file included from input_line_4:1:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\assert.h:12:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h:617:16: error: redefinition of '__crt_locale_pointers'        
typedef struct __crt_locale_pointers
               ^
note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h' included multiple times, additional include site here 
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\assert.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h' included multiple times, additional include site here
#include <corecrt.h>
         ^
In file included from input_line_4:1:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\assert.h:12:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h:625:16: error: redefinition of '_Mbstatet'
typedef struct _Mbstatet
               ^
note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h' included multiple times, additional include site here 
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\assert.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt.h' included multiple times, additional include site here
#include <corecrt.h>
         ^
In file included from input_line_4:2:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h:275:16: error: redefinition of '_div_t'
typedef struct _div_t
               ^
note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here  
input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here
#include <stdlib.h>
         ^
In file included from input_line_4:2:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h:281:16: error: redefinition of '_ldiv_t'
typedef struct _ldiv_t
               ^
note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here  
input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here
#include <stdlib.h>
         ^
In file included from input_line_4:2:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h:287:16: error: redefinition of '_lldiv_t'
typedef struct _lldiv_t
               ^
note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here  
input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here
#include <stdlib.h>
         ^
In file included from input_line_4:2:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h:398:7: error: typedef redefinition with different types ('struct _LDOUBLE' vs 'struct _LDOUBLE')
    } _LDOUBLE;
      ^
note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here  
input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here
#include <stdlib.h>
         ^
In file included from input_line_4:2:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h:418:3: error: typedef redefinition with different types ('struct _CRT_DOUBLE' vs 'struct _CRT_DOUBLE')
} _CRT_DOUBLE;
  ^
note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here  
input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here
#include <stdlib.h>
         ^
In file included from input_line_4:2:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h:423:3: error: typedef redefinition with different types ('struct _CRT_FLOAT' vs 'struct _CRT_FLOAT')
} _CRT_FLOAT;
  ^
note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here  
input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here
#include <stdlib.h>
         ^
In file included from input_line_4:2:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h:432:3: error: typedef redefinition with different types ('struct _LONGDOUBLE' vs 'struct _LONGDOUBLE')
} _LONGDOUBLE;
  ^
note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here  
input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here
#include <stdlib.h>
         ^
In file included from input_line_4:2:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h:440:3: error: typedef redefinition with different types ('struct _LDBL12' vs 'struct _LDBL12')
} _LDBL12;
  ^
note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here  
input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdlib.h' included multiple times, additional include site here
#include <stdlib.h>
         ^
In file included from input_line_4:3:
C:/Users/micha/AppData/Local/Programs/Python/Python312/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\stddef.h:35:9: error: unknown type name '__PTRDIFF_TYPE__'
typedef __PTRDIFF_TYPE__ ptrdiff_t;
        ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
Error: Error loading the default header files.
C:\Users\micha\AppData\Local\Programs\Python\Python312\Lib\site-packages\cppyy_backend\loader.py:139: UserWarning: No precompiled header available (failed to build); this may impact performance.
  warnings.warn('No precompiled header available (%s); this may impact performance.' % msg)
In file included from input_line_1:1:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\new:10:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\exception:12:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1396:5: error: expected a type     
    _Copy_cv_impl<_From>::template _Apply<_To>;
    ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1396:27: error: expected ';' after alias declaration
    _Copy_cv_impl<_From>::template _Apply<_To>;
                          ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1401:20: error: no template named '_Copy_cv'
    using _Apply = _Copy_cv<_Ty1, _Ty2>;
                   ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1406:43: error: use of undeclared identifier '_Copy_cv'
    using _Apply = add_lvalue_reference_t<_Copy_cv<_Ty1, _Ty2>>;
                                          ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1411:43: error: use of undeclared identifier '_Copy_cv'
    using _Apply = add_rvalue_reference_t<_Copy_cv<_Ty1, _Ty2>>;
                                          ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1446:28: error: missing 'typename' prior to dependent type name 'common_reference<_Types...>::type'
using common_reference_t = common_reference<_Types...>::type;
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1473:31: error: missing 'typename' prior to dependent type name 'basic_common_reference<typename remove_cv<typename
      remove_reference<type-parameter-0-0>::type>::type, typename remove_cv<typename remove_reference<type-parameter-0-1>::type>::type,  
      _Add_qualifiers<_Ty1>::template _Apply, _Add_qualifiers<_Ty2>::template _Apply>::type'
using _Basic_specialization = basic_common_reference<remove_cvref_t<_Ty1>, remove_cvref_t<_Ty2>,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1490:82: error: expected expression
template <class _Ty1, class _Ty2, class _Result = _Cond_res<_Copy_cv<_Ty1, _Ty2>&, _Copy_cv<_Ty2, _Ty1>&>,
                                                                                 ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1490:61: error: use of undeclared identifier '_Copy_cv'
template <class _Ty1, class _Ty2, class _Result = _Cond_res<_Copy_cv<_Ty1, _Ty2>&, _Copy_cv<_Ty2, _Ty1>&>,
                                                            ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1490:106: error: expected unqualified-id
template <class _Ty1, class _Ty2, class _Result = _Cond_res<_Copy_cv<_Ty1, _Ty2>&, _Copy_cv<_Ty2, _Ty1>&>,
                                                                                                         ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1498:50: error: use of undeclared identifier '_LL_common_ref'
struct _Common_reference2AX<_Ty1&, _Ty2&, void_t<_LL_common_ref<_Ty1, _Ty2>>> {
                                                 ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1503:81: error: use of undeclared identifier '_LL_common_ref'
struct _Common_reference2AX<_Ty1&&, _Ty2&, enable_if_t<is_convertible_v<_Ty1&&, _LL_common_ref<const _Ty1, _Ty2>>>> {
                                                                                ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1508:81: error: use of undeclared identifier '_LL_common_ref'
struct _Common_reference2AX<_Ty1&, _Ty2&&, enable_if_t<is_convertible_v<_Ty2&&, _LL_common_ref<const _Ty2, _Ty1>>>> {
                                                                                ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1513:43: error: use of undeclared identifier '_LL_common_ref'
using _RR_common_ref = remove_reference_t<_LL_common_ref<_Ty1, _Ty2>>&&;
                                          ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1517:42: error: use of undeclared identifier '_RR_common_ref'
    enable_if_t<is_convertible_v<_Ty1&&, _RR_common_ref<_Ty1, _Ty2>>
                                         ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1518:45: error: use of undeclared identifier '_RR_common_ref'
                && is_convertible_v<_Ty2&&, _RR_common_ref<_Ty1, _Ty2>>>> {
                                            ^
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1523:27: error: missing 'typename' prior to dependent type name '_Common_reference2AX<_Ty1, _Ty2>::type'
using _Common_ref_2AX_t = _Common_reference2AX<_Ty1, _Ty2>::type;
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:1550:25: error: missing 'typename' prior to dependent type name 'type_identity<_Ty>::type'
using type_identity_t = type_identity<_Ty>::type;
                        ^~~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits:2109:28: error: missing 'typename' prior to dependent type name 'unwrap_reference<_Ty>::type'
using unwrap_reference_t = unwrap_reference<_Ty>::type;
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
wlav commented 5 months ago

The backend library fails to load because the precompiled header fails to build. I in particular note: error: Unsupported architecture coming from the MSVC headers, which seems to suggest that there's a 64b <-> 32b mismatch. There seem to be headers loaded from C:\Program Files (x86), which suggests 32b, even as python looking for libcppyy_backend.cp312-win_amd64.pyd suggests 64b.

How do you setup the MSVC environment? Additionally, which version of cppyy is this and how is it installed?

michaelsmolinski commented 5 months ago

I believe the header (at least for that error) is coming from Windows SDK -- I think it installs both 64b and 32b to C:\Program Files (x86) ?

MSVC environment: Windows 11 Visual Studio Build Tools 2022 17.8.4 C++ MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest) Windows SDK 10.0.22621.2428

Installed using pip install cppyy - I'm assuming this is the latest release

If an alternative method to install would be better, let me know.

image image

(please be patient as I'm not a C++ coder and relatively new to Python)

wlav commented 5 months ago

(please be patient as I'm not a C++ coder and relatively new to Python)

And I'm not a Windows user. :) I do builds through a VM.

But with "setup" I meant that you launch Python.exe from some environment. MSVC provides both 32b and 64b environments and unless Python was installed through VS, it could be mismatched. See e.g.: https://learn.microsoft.com/en-us/cpp/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line?view=msvc-170

marktsuchida commented 5 months ago

I believe it is normal for Windows SDK headers to reside in Program Files (x86) even when building for x86-64. The C++ STL headers moved from Program Files (x86) to Program Files between VS 2019 and 2022, but the Windows SDK hasn't moved.

I get essentially the same error when running in Developer PowerShell for VS 2022.

Interestingly, I get no errors when doing the same in Developer PowerShell for VS 2019. My VS 2019 installation has the same 2 Windows 10 SDK versions installed, but not the Windows 11 SDK. So the problem may be specific to either VS2022 or Windows 11 SDK (or both).

I then upgraded VS2022 to 17.8.6 (but did not yet add Windows 11 SDK 10.0.22621.0). The same test produced the same errors.

Just for the heck of it, I uninstalled VS 2022's Windows 11 SDK (leaving only the Windows 10 SDKs listed above). Still got the same error.

So, at least at a coarse grain, the incompatibility seems to be with VS 2022 (or the Microsoft STL shipped with it).

pip install cppyy in Developer PowerShell for VS 2022 (17.8.4) ```text Collecting cppyy Downloading cppyy-3.1.2.tar.gz (28 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Installing backend dependencies ... done Preparing metadata (pyproject.toml) ... done Collecting CPyCppyy==1.12.16 (from cppyy) Downloading CPyCppyy-1.12.16.tar.gz (211 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.2/211.2 kB 4.3 MB/s eta 0:00:00 Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting cppyy-backend==1.15.2 (from cppyy) Using cached cppyy_backend-1.15.2-py2.py3-none-win_amd64.whl Collecting cppyy-cling==6.30.0 (from cppyy) Using cached cppyy_cling-6.30.0-py2.py3-none-win_amd64.whl.metadata (2.1 kB) Using cached cppyy_cling-6.30.0-py2.py3-none-win_amd64.whl (27.7 MB) Building wheels for collected packages: cppyy, CPyCppyy Building wheel for cppyy (pyproject.toml) ... done Created wheel for cppyy: filename=cppyy-3.1.2-py3-none-any.whl size=27830 sha256=2743098d20f027f4f8483c4ef06c0c2f16868ddbaa9172935256022a96beac90 Stored in directory: c:\users\mark\appdata\local\pip\cache\wheels\43\9d\2c\e2da6ff8d7a6a5eb846e50c2c2a3ffda1544e7b13df04c0fa2 Building wheel for CPyCppyy (pyproject.toml) ... done Created wheel for CPyCppyy: filename=CPyCppyy-1.12.16-cp311-cp311-win_amd64.whl size=269575 sha256=ba68b87b109dc97a2204ea28a2a645363ef5f6b8b96b113a997465c68b2caa10 Stored in directory: c:\users\mark\appdata\local\pip\cache\wheels\98\e8\3b\ad5bbf7a6a9fcc6fc69c71f434c1cb53cadea063a5b14d7b9e Successfully built cppyy CPyCppyy Installing collected packages: cppyy-cling, cppyy-backend, CPyCppyy, cppyy Successfully installed CPyCppyy-1.12.16 cppyy-3.1.2 cppyy-backend-1.15.2 cppyy-cling-6.30.0 ```
import cppyy in Developer PowerShell for VS 2022 (17.8.4) ```text Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import cppyy (Re-)building pre-compiled headers (options: -O2 -march=native); this may take a minute ... In file included from input_line_1:1: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\new:10: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\exception:12: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1396:5: error: expected a type _Copy_cv_impl<_From>::template _Apply<_To>; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1396:27: error: expected ';' after alias declaration _Copy_cv_impl<_From>::template _Apply<_To>; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1401:20: error: no template named '_Copy_cv' using _Apply = _Copy_cv<_Ty1, _Ty2>; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1406:43: error: use of undeclared identifier '_Copy_cv' using _Apply = add_lvalue_reference_t<_Copy_cv<_Ty1, _Ty2>>; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1411:43: error: use of undeclared identifier '_Copy_cv' using _Apply = add_rvalue_reference_t<_Copy_cv<_Ty1, _Ty2>>; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1446:28: error: missing 'typename' prior to dependent type name 'common_reference<_Types...>::type' using common_reference_t = common_reference<_Types...>::type; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1473:31: error: missing 'typename' prior to dependent type name 'basic_common_reference::type>::type, typename remove_cv::type>::type, _Add_qualifiers<_Ty1>::template _Apply, _Add_qualifiers<_Ty2>::template _Apply>::type' ...= basic_common_reference, remove_cvref_t<_Ty2>, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1490:82: error: expected expression ...class _Ty2, class _Result = _Cond_res<_Copy_cv<_Ty1, _Ty2>&, _Copy_cv<_T... ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1490:61: error: use of undeclared identifier '_Copy_cv' template &, _Copy_cv<_Ty2, _Ty1>&>, ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1498:50: error: use of undeclared identifier '_LL_common_ref' struct _Common_reference2AX<_Ty1&, _Ty2&, void_t<_LL_common_ref<_Ty1, _Ty2>>> { ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1503:81: error: use of undeclared identifier '_LL_common_ref' ..._Ty2&, enable_if_t>&&; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1517:42: error: use of undeclared identifier '_RR_common_ref' enable_if_t> ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1518:45: error: use of undeclared identifier '_RR_common_ref' && is_convertible_v<_Ty2&&, _RR_common_ref<_Ty1, _Ty2>>>> { ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1523:27: error: missing 'typename' prior to dependent type name '_Common_reference2AX<_Ty1, _Ty2>::type' using _Common_ref_2AX_t = _Common_reference2AX<_Ty1, _Ty2>::type; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1550:25: error: missing 'typename' prior to dependent type name 'type_identity<_Ty>::type' using type_identity_t = type_identity<_Ty>::type; ^~~~~~~~~~~~~~~~~~~~~~~~ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:2109:28: error: missing 'typename' prior to dependent type name 'unwrap_reference<_Ty>::type' using unwrap_reference_t = unwrap_reference<_Ty>::type; ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from input_line_3:1: In file included from ./include\RtypesCore.h:23: C:/Users/mark/tmp/cppyy/venv/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\stddef.h:35:9: error: unknown type name '__PTRDIFF_TYPE__' typedef __PTRDIFF_TYPE__ ptrdiff_t; ^ C:/Users/mark/tmp/cppyy/venv/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\stddef.h:46:9: error: unknown type name '__SIZE_TYPE__' typedef __SIZE_TYPE__ size_t; ^ C:/Users/mark/tmp/cppyy/venv/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\stddef.h:74:9: error: unknown type name '__WCHAR_TYPE__' typedef __WCHAR_TYPE__ wchar_t; ^ In file included from input_line_3:2: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\string:8: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals_core.h:28:2: error: Error in C++ Standard Library usage #error Error in C++ Standard Library usage ^ In file included from input_line_3:2: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\string:8: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals_core.h:495: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vcruntime.h:58: In file included from C:/Users/mark/tmp/cppyy/venv/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\vadefs.h:12: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vadefs.h:63:30: error: typedef redefinition with different types ('unsigned int' vs 'unsigned long long') typedef unsigned int uintptr_t; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vadefs.h: note: previous definition is here In file included from input_line_3:2: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\string:8: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals_core.h:495: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vcruntime.h:197:30: error: typedef redefinition with different types ('unsigned int' vs 'unsigned long long') typedef unsigned int size_t; ^ C:/Users/mark/tmp/cppyy/venv/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\stddef.h: note: previous definition is here In file included from input_line_3:2: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\string:8: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals_core.h:495: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vcruntime.h:198:30: error: typedef redefinition with different types ('int' vs 'long long') typedef int ptrdiff_t; ^ C:/Users/mark/tmp/cppyy/venv/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\stddef.h: note: previous definition is here In file included from input_line_3:2: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\string:8: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals_core.h:495: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vcruntime.h:199:30: error: typedef redefinition with different types ('int' vs 'long long') typedef int intptr_t; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vcruntime.h: note: previous definition is here In file included from input_line_3:2: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\string:8: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals_core.h:495: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vcruntime.h:209:13: error: unknown type name '_Bool' typedef _Bool __vcrt_bool; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vcruntime.h:228:22: error: 'short wchar_t' is invalid typedef unsigned short wchar_t; ^ In file included from input_line_3:2: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\string:10: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\xstring:13: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\iosfwd:8: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals.h:20: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\crtdbg.h:12: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:274:13: error: unknown type name '_Bool' typedef _Bool __crt_bool; ^ C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:610:16: error: redefinition of '__crt_locale_data_public' typedef struct __crt_locale_data_public ^ C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\crtdbg.h: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h' included multiple times, additional include site here C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\crtdbg.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h' included multiple times, additional include site here #include ^ In file included from input_line_3:2: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\string:10: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\xstring:13: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\iosfwd:8: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals.h:20: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\crtdbg.h:12: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:617:16: error: redefinition of '__crt_locale_pointers' typedef struct __crt_locale_pointers ^ C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\crtdbg.h: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h' included multiple times, additional include site here C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\crtdbg.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h' included multiple times, additional include site here #include ^ In file included from input_line_3:2: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\string:10: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\xstring:13: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\iosfwd:8: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals.h:20: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\crtdbg.h:12: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:625:16: error: redefinition of '_Mbstatet' typedef struct _Mbstatet ^ C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\crtdbg.h: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h' included multiple times, additional include site here C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\crtdbg.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h' included multiple times, additional include site here #include ^ C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\crtdbg.h:120:16: error: redefinition of '_CrtMemState' typedef struct _CrtMemState ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals.h: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\crtdbg.h' included multiple times, additional include site here C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals.h:20:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\crtdbg.h' included multiple times, additional include site here #include ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals.h:347:41: error: redefinition of '_Lockit' extern "C++" class _CRTIMP2_PURE_IMPORT _Lockit { // lock while object i... ^ note: 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals.h' included multiple times, additional include site here C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\iosfwd:8:10: note: 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals.h' included multiple times, additional include site here #include ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\yvals.h: note: unguarded header; consider using #ifdef guards or #pragma once In file included from input_line_3:2: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\string:10: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\xstring:13: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\iosfwd:11: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\cstdio:11: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdio.h:13: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt_wstdio.h:13: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt_stdio_config.h:35:10: error: Unsupported architecture #error Unsupported architecture ^ In file included from input_line_3:2: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\string:10: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\xstring:13: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\iosfwd:11: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\cstdio:11: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdio.h:13: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt_wstdio.h:323:16: error: no matching function for call to '_vfwprintf_l' return _vfwprintf_l(_Stream, _Format, NULL, _ArgList); ^~~~~~~~~~~~ C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt_wstdio.h:299:37: note: candidate function not viable: cannot convert argument of incomplete type 'void *' to 'const _locale_t' (aka '__crt_locale_pointers *const') for 3rd argument _CRT_STDIO_INLINE int __CRTDECL _vfwprintf_l( ^ C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt_wstdio.h:354:20: error: no matching function for call to '_vfwprintf_s_l' return _vfwprintf_s_l(_Stream, _Format, NULL, _ArgList); ^~~~~~~~~~~~~~ C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt_wstdio.h:328:37: note: candidate function not viable: cannot convert argument of incomplete type 'void *' to 'const _locale_t' (aka '__crt_locale_pointers *const') for 3rd argument _CRT_STDIO_INLINE int __CRTDECL _vfwprintf_s_l( ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] In file included from input_line_4:1: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\assert.h:12: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:10: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vcruntime.h:58: In file included from C:/Users/mark/tmp/cppyy/venv/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\vadefs.h:12: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vadefs.h:63:30: error: typedef redefinition with different types ('unsigned int' vs 'unsigned long long') typedef unsigned int uintptr_t; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vadefs.h: note: previous definition is here In file included from input_line_4:1: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\assert.h:12: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:10: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vcruntime.h:197:30: error: typedef redefinition with different types ('unsigned int' vs 'unsigned long long') typedef unsigned int size_t; ^ note: previous definition is here In file included from input_line_4:1: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\assert.h:12: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:10: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vcruntime.h:198:30: error: typedef redefinition with different types ('int' vs 'long long') typedef int ptrdiff_t; ^ note: previous definition is here In file included from input_line_4:1: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\assert.h:12: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:10: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vcruntime.h:199:30: error: typedef redefinition with different types ('int' vs 'long long') typedef int intptr_t; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vcruntime.h: note: previous definition is here In file included from input_line_4:1: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\assert.h:12: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:10: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vcruntime.h:209:13: error: unknown type name '_Bool' typedef _Bool __vcrt_bool; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\vcruntime.h:228:22: error: 'short wchar_t' is invalid typedef unsigned short wchar_t; ^ In file included from input_line_4:1: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\assert.h:12: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:274:13: error: unknown type name '_Bool' typedef _Bool __crt_bool; ^ C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:610:16: error: redefinition of '__crt_locale_data_public' typedef struct __crt_locale_data_public ^ note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h' included multiple times, additional include site here C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\assert.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h' included multiple times, additional include site here #include ^ In file included from input_line_4:1: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\assert.h:12: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:617:16: error: redefinition of '__crt_locale_pointers' typedef struct __crt_locale_pointers ^ note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h' included multiple times, additional include site here C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\assert.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h' included multiple times, additional include site here #include ^ In file included from input_line_4:1: In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\assert.h:12: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h:625:16: error: redefinition of '_Mbstatet' typedef struct _Mbstatet ^ note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h' included multiple times, additional include site here C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\assert.h:12:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\corecrt.h' included multiple times, additional include site here #include ^ In file included from input_line_4:2: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h:275:16: error: redefinition of '_div_t' typedef struct _div_t ^ note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here #include ^ In file included from input_line_4:2: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h:281:16: error: redefinition of '_ldiv_t' typedef struct _ldiv_t ^ note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here #include ^ In file included from input_line_4:2: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h:287:16: error: redefinition of '_lldiv_t' typedef struct _lldiv_t ^ note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here #include ^ In file included from input_line_4:2: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h:398:7: error: typedef redefinition with different types ('struct _LDOUBLE' vs 'struct _LDOUBLE') } _LDOUBLE; ^ note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here #include ^ In file included from input_line_4:2: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h:418:3: error: typedef redefinition with different types ('struct _CRT_DOUBLE' vs 'struct _CRT_DOUBLE') } _CRT_DOUBLE; ^ note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here #include ^ In file included from input_line_4:2: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h:423:3: error: typedef redefinition with different types ('struct _CRT_FLOAT' vs 'struct _CRT_FLOAT') } _CRT_FLOAT; ^ note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here #include ^ In file included from input_line_4:2: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h:432:3: error: typedef redefinition with different types ('struct _LONGDOUBLE' vs 'struct _LONGDOUBLE') } _LONGDOUBLE; ^ note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here #include ^ In file included from input_line_4:2: C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h:440:3: error: typedef redefinition with different types ('struct _LDBL12' vs 'struct _LDBL12') } _LDBL12; ^ note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here input_line_4:2:10: note: 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt\stdlib.h' included multiple times, additional include site here #include ^ In file included from input_line_4:3: C:/Users/mark/tmp/cppyy/venv/Lib/site-packages/cppyy_backend\etc\/cling\lib\clang\13.0.0\include\stddef.h:35:9: error: unknown type name '__PTRDIFF_TYPE__' typedef __PTRDIFF_TYPE__ ptrdiff_t; ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] Error: Error loading the default header files. C:\Users\mark\tmp\cppyy\venv\Lib\site-packages\cppyy_backend\loader.py:139: UserWarning: No precompiled header available (failed to build); this may impact performance. warnings.warn('No precompiled header available (%s); this may impact performance.' % msg) In file included from input_line_1:1: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\new:10: In file included from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\exception:12: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1396:5: error: expected a type _Copy_cv_impl<_From>::template _Apply<_To>; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1396:27: error: expected ';' after alias declaration _Copy_cv_impl<_From>::template _Apply<_To>; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1401:20: error: no template named '_Copy_cv' using _Apply = _Copy_cv<_Ty1, _Ty2>; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1406:43: error: use of undeclared identifier '_Copy_cv' using _Apply = add_lvalue_reference_t<_Copy_cv<_Ty1, _Ty2>>; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1411:43: error: use of undeclared identifier '_Copy_cv' using _Apply = add_rvalue_reference_t<_Copy_cv<_Ty1, _Ty2>>; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1446:28: error: missing 'typename' prior to dependent type name 'common_reference<_Types...>::type' using common_reference_t = common_reference<_Types...>::type; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1473:31: error: missing 'typename' prior to dependent type name 'basic_common_reference::type>::type, typename remove_cv::type>::type, _Add_qualifiers<_Ty1>::template _Apply, _Add_qualifiers<_Ty2>::template _Apply>::type' ...= basic_common_reference, remove_cvref_t<_Ty2>, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1490:82: error: expected expression ...class _Ty2, class _Result = _Cond_res<_Copy_cv<_Ty1, _Ty2>&, _Copy_cv<_T... ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1490:61: error: use of undeclared identifier '_Copy_cv' template &, _Copy_cv<_Ty2, _Ty1>&>, ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1498:50: error: use of undeclared identifier '_LL_common_ref' struct _Common_reference2AX<_Ty1&, _Ty2&, void_t<_LL_common_ref<_Ty1, _Ty2>>> { ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1503:81: error: use of undeclared identifier '_LL_common_ref' ..._Ty2&, enable_if_t>&&; ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1517:42: error: use of undeclared identifier '_RR_common_ref' enable_if_t> ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1518:45: error: use of undeclared identifier '_RR_common_ref' && is_convertible_v<_Ty2&&, _RR_common_ref<_Ty1, _Ty2>>>> { ^ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1523:27: error: missing 'typename' prior to dependent type name '_Common_reference2AX<_Ty1, _Ty2>::type' using _Common_ref_2AX_t = _Common_reference2AX<_Ty1, _Ty2>::type; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1550:25: error: missing 'typename' prior to dependent type name 'type_identity<_Ty>::type' using type_identity_t = type_identity<_Ty>::type; ^~~~~~~~~~~~~~~~~~~~~~~~ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:2109:28: error: missing 'typename' prior to dependent type name 'unwrap_reference<_Ty>::type' using unwrap_reference_t = unwrap_reference<_Ty>::type; ^~~~~~~~~~~~~~~~~~~~~~~~~~~ Traceback (most recent call last): File "", line 1, in File "C:\Users\mark\tmp\cppyy\venv\Lib\site-packages\cppyy\__init__.py", line 81, in from ._cpython_cppyy import * File "C:\Users\mark\tmp\cppyy\venv\Lib\site-packages\cppyy\_cpython_cppyy.py", line 21, in c = loader.load_cpp_backend() ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\mark\tmp\cppyy\venv\Lib\site-packages\cppyy_backend\loader.py", line 92, in load_cpp_backend raise RuntimeError("could not load cppyy_backend library, details:\n%s" % RuntimeError: could not load cppyy_backend library, details: Could not find module 'libcppyy_backend.dll' (or one of its dependencies). Try using the full path with constructor syntax. Could not find module 'C:\Users\mark\tmp\cppyy\venv\Lib\site-packages\cppyy_backend\lib\libcppyy_backend.cp311-win_amd64.pyd' (or one of its dependencies). Try using the full path with constructor syntax. [WinError 1114] A dynamic link library (DLL) initialization routine failed Could not find module 'libcppyy_backend.cp311-win_amd64.pyd' (or one of its dependencies). Try using the full path with constructor syntax. ```

Now if we look at the first error:

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\\include\type_traits:1396:5: error: expected a type
    _Copy_cv_impl<_From>::template _Apply<_To>;
    ^

I don't know how to find the exact commit in https://github.com/microsoft/STL for a given VS version (if there even is such a thing), but this is a case where they removed the typename keyword (https://github.com/microsoft/STL/commit/f70d767e3b65e5d7084354b44c45499dde2f781c, Jul 2023). This error is part of a using (type alias) definition and is within an #if _HAS_CXX20. (This seems to have appeared in VS 2022 17.8 according to their changelog.)

I seem to recall that clang took some time to implement C++20 P0634 which made typename optional in many places. According to the official status it was fully implemented in Clang 16.

If I understand correct that cppyy's backend (and Cling) is currently on LLVM 13, this could be the problem.

Based on this, if I set $Env:STDCXX='17' (PowerShell syntax) before starting Python I can successfully import cppyy in Developer PowerShell for VS 2022 (17.8.6).

So until Cling and cppyy are rebased on a newer LLVM, we're probably limited on Windows to either disabling C++20 or sticking to a slightly older version of Visual Studio (2019, or some earlier version of 2022: maybe 17.7 but would need to be tested -- but no way to downgrade VS Community 2022).

nickger commented 4 months ago

Not to open a new issue: cannot install cppyy on Windows at all. Windows 10 Python 3.12 VS BuiltTools install with pip (cannot use conda) The error: error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.39.33519\bin\HostX86\x64\cl.exe' failed with exit code 2

wlav commented 4 months ago

The actual error should be printed above the error that you posted. If there's nothing there, add --verbose to the pip command. I can't do anything with, or recommend based on, the given information.

nickger commented 4 months ago

"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.39.33519\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Users\gni\AppData\Local\Temp\pip-build-env-yxozr3vc\overlay\Lib\site-packages\cppyy_backend\include -IC:\Users\gni\PycharmProjects\cppyyOCC\vEnv\include -IC:\Users\gni\AppData\Local\Python312\include -IC:\Users\gni\AppData\Local\Python312\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.39.33519\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" /EHsc /Tpsrc\clingwrapper.cxx /Fobuild\temp.win-amd64-cpython-312\Release\src\clingwrapper.obj -O2 -Zc:__cplusplus /std:c++latest /GR /EHsc- /MD cl : Command line warning D9025 : overriding '/EHc' with '/EHc-' clingwrapper.cxx C:\Users\gni\AppData\Local\Temp\pip-install-yuzaamv1\cppyy-backend_332d819b74c14a1fb29f325fa09ec8fd\src\capi.h(4): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory

This is what printed above. Hope, it helps.

wlav commented 4 months ago

stddef.h is a standard C header file that comes with the compiler. If the compiler can not find it, it's likely an environment setup or installation problem. Either way, it would be a local issue, so it's virtually impossible for me to figure out.

For the environment setup, check whether you're perhaps mixing 64b and 32b python and developer shell. For the installation, check the install options to see whether C/C++ headers and standard libs are installed.

nickger commented 4 months ago

Do I have to use MVSC on Windows or I can use MinGW as well? Looks like cppyy automatically looks for MVSC installation... I use virtual environment with system interpreter, I am sure it is 64b. BTW I use PyCharm, if it matters. I will try "verbose" option to see more...

wlav commented 4 months ago

I've never tried MinGW, but there are two pieces to it. The installation is done with pip, which picks the compiler, not cppyy. I can't really find much about it, other than out-of-date information. E.g. this info on python.org states that MinGW only works up to Python3.4. Other sources talk about a MinGW-specific pip build. My guess is that it's not supported out-of-the-box. After that, once compilation has succeeded, the question is whether Clang finds the headers, but I presume that that at least can be ameliorated by setting the include paths.