-
-
Notifications
You must be signed in to change notification settings - Fork 630
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SCons can't build NVDA from source #17026
Comments
Are you sure you're using the right MSVC version as prescribed in Create dev env I have the following version locally Please provide a linear build log using |
Yes, I also deliberately chose to import The MSVC version numbers do differ between us though, is this due to me updating or newly installing the latest version of the VS tools? So the build fails. call py -m SCons source -j1
scons: Reading SConscript files ...
Warning: Building with 1 concurrent job while 10 CPU threads are available. Running SCONS with the parameter '-j10' may lead to a faster build. Running SCONS with parameter '--all-cores' will automatically pick all available cores.
scons: done reading SConscript files.
scons: Building targets ...
Copy("source\brailleDisplayDrivers\lilli.dll", "miscdeps\source\brailleDisplayDrivers\lilli.dll")
interfaceAction(["source\comInterfaces\Accessibility.py", "source\comInterfaces\__pycache__\Accessibility.cpython-311.pyc"], ["source\comInterfaces\__init__.py"])
Copy("build\x86\acrobatAccess.idl", "miscdeps\include\acrobatAccess\acrobatAccess.idl")
MIDL.EXE /nologo /win32 /tlb build\x86\acrobatAccess.tlb /h build\x86\acrobatAccess.h /iid build\x86\acrobatAccess_i.c /proxy build\x86\acrobatAccess_p.c /dlldata build\x86\acrobatAccess_data.c build\x86\acrobatAccess.idl
Processing build\x86\acrobatAccess.idl
acrobatAccess.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\oaidl.idl
oaidl.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\objidl.idl
objidl.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\unknwn.idl
unknwn.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\wtypes.idl
wtypes.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\wtypesbase.idl
wtypesbase.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\basetsd.h
basetsd.h
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\guiddef.h
guiddef.h
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\ocidl.idl
ocidl.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\oleidl.idl
oleidl.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\servprov.idl
servprov.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\urlmon.idl
urlmon.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\msxml.idl
msxml.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\oleacc.idl
oleacc.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\oaidl.acf
oaidl.acf
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\ocidl.acf
ocidl.acf
Install file: "build\x86\acrobatAccess.tlb" as "source\typelibs\AcrobatAccess.tlb"
interfaceAction(["source\comInterfaces\AcrobatAccessLib.py", "source\comInterfaces\__pycache__\AcrobatAccessLib.cpython-311.pyc"], ["source\typelibs\AcrobatAccess.tlb"])
buildMergedIdl(["build\x86\ia2.idl"], ["include\ia2\api\api_all_headers.idl", "include\ia2\api\IA2CommonTypes.idl", "include\ia2\api\AccessibleRelation.idl", "include\ia2\api\AccessibleAction.idl", "include\ia2\api\AccessibleRole.idl", "include\ia2\api\AccessibleStates.idl", "include\ia2\api\Accessible2.idl", "include\ia2\api\Accessible2_2.idl", "include\ia2\api\AccessibleComponent.idl", "include\ia2\api\AccessibleValue.idl", "include\ia2\api\AccessibleText.idl", "include\ia2\api\AccessibleText2.idl", "include\ia2\api\AccessibleEditableText.idl", "include\ia2\api\AccessibleHyperlink.idl", "include\ia2\api\AccessibleHypertext.idl", "include\ia2\api\AccessibleHypertext2.idl", "include\ia2\api\AccessibleTable.idl", "include\ia2\api\AccessibleTable2.idl", "include\ia2\api\AccessibleTableCell.idl", "include\ia2\api\AccessibleImage.idl", "include\ia2\api\AccessibleEventID.idl", "include\ia2\api\AccessibleApplication.idl", "include\ia2\api\AccessibleDocument.idl", "include\ia2\api\AccessibleTextSelectionContainer.idl", "include\ia2\api\IA2TypeLibrary.idl"])
MIDL.EXE /nologo /win32 /tlb build\x86\ia2.tlb /h build\x86\ia2.h /iid build\x86\ia2_i.c /proxy build\x86\ia2_p.c /dlldata build\x86\ia2_data.c build\x86\ia2.idl
Processing build\x86\ia2.idl
ia2.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\objidl.idl
objidl.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\unknwn.idl
unknwn.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\wtypes.idl
wtypes.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\wtypesbase.idl
wtypesbase.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\basetsd.h
basetsd.h
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\guiddef.h
guiddef.h
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\oaidl.idl
oaidl.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\oleacc.idl
oleacc.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\oaidl.acf
oaidl.acf
Install file: "build\x86\ia2.tlb" as "source\typelibs\ia2.tlb"
interfaceAction(["source\comInterfaces\IAccessible2Lib.py", "source\comInterfaces\__pycache__\IAccessible2Lib.cpython-311.pyc"], ["source\typelibs\ia2.tlb"])
Copy("build\x86\ISimpleDOMText.idl", "miscdeps\include\ISimpleDOM\ISimpleDOMText.idl")
Copy("build\x86\ISimpleDOMDocument.idl", "miscdeps\include\ISimpleDOM\ISimpleDOMDocument.idl")
Creating 'build\x86\iSimpleDOMNode.idl'
MIDL.EXE /nologo /win32 /c_ext /I build\x86 /tlb build\x86\iSimpleDOMNode.tlb /h build\x86\iSimpleDOMNode.h /iid build\x86\iSimpleDOMNode_i.c /proxy build\x86\iSimpleDOMNode_p.c /dlldata build\x86\iSimpleDOMNode_data.c build\x86\iSimpleDOMNode.idl
Processing build\x86\iSimpleDOMNode.idl
iSimpleDOMNode.idl
build\x86\iSimpleDOMNode.idl(102): warning C4067: unexpected tokens following preprocessor directive - expected a newline
build\x86\iSimpleDOMNode.idl(103): warning C4067: unexpected tokens following preprocessor directive - expected a newline
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\objidl.idl
objidl.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\unknwn.idl
unknwn.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\wtypes.idl
wtypes.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\wtypesbase.idl
wtypesbase.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\basetsd.h
basetsd.h
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\guiddef.h
guiddef.h
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\oaidl.idl
oaidl.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\oaidl.acf
oaidl.acf
Install file: "build\x86\iSimpleDOMNode.tlb" as "source\typelibs\ISimpleDOMNode.tlb"
interfaceAction(["source\comInterfaces\ISimpleDOM.py", "source\comInterfaces\__pycache__\ISimpleDOM.cpython-311.pyc"], ["source\typelibs\ISimpleDOMNode.tlb"])
Copy("build\x86\MathSpeechEnums.idl", "miscdeps\include\mathPlayer\MathSpeechEnums.idl")
Copy("build\x86\mathPlayerDLL.idl", "miscdeps\include\mathPlayer\mathPlayerDLL.idl")
MIDL.EXE /I build\x86 /tlb build\x86\mathPlayerDLL.tlb /h build\x86\mathPlayerDLL.h /iid build\x86\mathPlayerDLL_i.c /proxy build\x86\mathPlayerDLL_p.c /dlldata build\x86\mathPlayerDLL_data.c build\x86\mathPlayerDLL.idl
Microsoft (R) 32b/64b MIDL Compiler Version 8.01.0628
Copyright (c) Microsoft Corporation. All rights reserved.
Processing build\x86\mathPlayerDLL.idl
mathPlayerDLL.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\oaidl.idl
oaidl.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\objidl.idl
objidl.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\unknwn.idl
unknwn.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\wtypes.idl
wtypes.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\wtypesbase.idl
wtypesbase.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\basetsd.h
basetsd.h
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared\guiddef.h
guiddef.h
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\ocidl.idl
ocidl.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\oleidl.idl
oleidl.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\servprov.idl
servprov.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\urlmon.idl
urlmon.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\msxml.idl
msxml.idl
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\oaidl.acf
oaidl.acf
Processing C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um\ocidl.acf
ocidl.acf
Install file: "build\x86\mathPlayerDLL.tlb" as "source\typelibs\mathPlayerDLL.tlb"
interfaceAction(["source\comInterfaces\MathPlayer.py", "source\comInterfaces\__pycache__\MathPlayer.cpython-311.pyc"], ["source\typelibs\mathPlayerDLL.tlb"])
interfaceAction(["source\comInterfaces\Scripting.py", "source\comInterfaces\__pycache__\Scripting.cpython-311.pyc"], ["source\comInterfaces\__init__.py"])
interfaceAction(["source\comInterfaces\SpeechLib.py", "source\comInterfaces\__pycache__\SpeechLib.cpython-311.pyc"], ["source\comInterfaces\__init__.py"])
interfaceAction(["source\comInterfaces\tom.py", "source\comInterfaces\__pycache__\tom.cpython-311.pyc"], ["source\comInterfaces\__init__.py"])
cl /Fobuild\x86\ia2_i.obj /c build\x86\ia2_i.c /nologo /Od /std:c++20 /permissive- /MT /W3 /WX /DUNICODE /D_CRT_SECURE_NO_DEPRECATE /DLOGLEVEL=15 /D_WIN32_WINNT=_WIN32_WINNT_WINBLUE /DNOMINMAX /DNDEBUG /DWIN32 /DPROXY_CLSID_IS={0x62d295fe,0x2062,0x4369,{0xa0,0x10,0x4f,0x59,0xb5,0xe3,0x2d,0x5e}} /Iinclude /Iinclude\wil\include /Imiscdeps\include /Ibuild\x86 /Z7
ia2_i.c
cl /Fobuild\x86\ia2_p.obj /c build\x86\ia2_p.c /nologo /Od /std:c++20 /permissive- /MT /W3 /WX /DUNICODE /D_CRT_SECURE_NO_DEPRECATE /DLOGLEVEL=15 /D_WIN32_WINNT=_WIN32_WINNT_WINBLUE /DNOMINMAX /DNDEBUG /DWIN32 /DPROXY_CLSID_IS={0x62d295fe,0x2062,0x4369,{0xa0,0x10,0x4f,0x59,0xb5,0xe3,0x2d,0x5e}} /Iinclude /Iinclude\wil\include /Imiscdeps\include /Ibuild\x86 /Z7
ia2_p.c
cl /Fobuild\x86\ia2_data.obj /c build\x86\ia2_data.c /nologo /Od /std:c++20 /permissive- /MT /W3 /WX /DUNICODE /D_CRT_SECURE_NO_DEPRECATE /DLOGLEVEL=15 /D_WIN32_WINNT=_WIN32_WINNT_WINBLUE /DNOMINMAX /DNDEBUG /DWIN32 /DPROXY_CLSID_IS={0x62d295fe,0x2062,0x4369,{0xa0,0x10,0x4f,0x59,0xb5,0xe3,0x2d,0x5e}} /Iinclude /Iinclude\wil\include /Imiscdeps\include /Ibuild\x86 /Z7
ia2_data.c
Creating 'build\x86\IAccessible2proxy.manifest'
link /nologo /incremental:no /WX /subsystem:windows,6.03 /release /OPT:REF /export:DllGetClassObject,private /export:DllCanUnloadNow,private /export:GetProxyDllInfo,private /manifest:embed /manifestinput:build\x86\IAccessible2proxy.manifest /dll /out:build\x86\IAccessible2proxy.dll /implib:build\x86\IAccessible2proxy.lib rpcrt4.lib oleaut32.lib ole32.lib /PDB:build\x86\IAccessible2proxy.dll.pdb /DEBUG build\x86\ia2_i.obj build\x86\ia2_p.obj build\x86\ia2_data.obj
Creating library build\x86\IAccessible2proxy.lib and object build\x86\IAccessible2proxy.exp
Install file: "build\x86\IAccessible2proxy.dll" as "source\lib\IAccessible2proxy.dll"
Install file: "build\x86\IAccessible2proxy.dll.pdb" as "source\lib\IAccessible2proxy.dll.pdb"
Install file: "build\x86\IAccessible2proxy.exp" as "source\lib\IAccessible2proxy.exp"
Install file: "build\x86\IAccessible2proxy.lib" as "source\lib\IAccessible2proxy.lib"
cl /Fobuild\x86\iSimpleDOMNode_i.obj /c build\x86\iSimpleDOMNode_i.c /nologo /Od /std:c++20 /permissive- /MT /W3 /WX /DUNICODE /D_CRT_SECURE_NO_DEPRECATE /DLOGLEVEL=15 /D_WIN32_WINNT=_WIN32_WINNT_WINBLUE /DNOMINMAX /DNDEBUG /DWIN32 /DPROXY_CLSID_IS={0x435E0FC9,0x344B,0x41D4,{0x88,0xDD,0x4C,0xAA,0xD4,0x99,0xAC,0xE5}} /Iinclude /Iinclude\wil\include /Imiscdeps\include /Ibuild\x86 /Z7
iSimpleDOMNode_i.c
cl /Fobuild\x86\iSimpleDOMNode_p.obj /c build\x86\iSimpleDOMNode_p.c /nologo /Od /std:c++20 /permissive- /MT /W3 /WX /DUNICODE /D_CRT_SECURE_NO_DEPRECATE /DLOGLEVEL=15 /D_WIN32_WINNT=_WIN32_WINNT_WINBLUE /DNOMINMAX /DNDEBUG /DWIN32 /DPROXY_CLSID_IS={0x435E0FC9,0x344B,0x41D4,{0x88,0xDD,0x4C,0xAA,0xD4,0x99,0xAC,0xE5}} /Iinclude /Iinclude\wil\include /Imiscdeps\include /Ibuild\x86 /Z7
iSimpleDOMNode_p.c
cl /Fobuild\x86\iSimpleDOMNode_data.obj /c build\x86\iSimpleDOMNode_data.c /nologo /Od /std:c++20 /permissive- /MT /W3 /WX /DUNICODE /D_CRT_SECURE_NO_DEPRECATE /DLOGLEVEL=15 /D_WIN32_WINNT=_WIN32_WINNT_WINBLUE /DNOMINMAX /DNDEBUG /DWIN32 /DPROXY_CLSID_IS={0x435E0FC9,0x344B,0x41D4,{0x88,0xDD,0x4C,0xAA,0xD4,0x99,0xAC,0xE5}} /Iinclude /Iinclude\wil\include /Imiscdeps\include /Ibuild\x86 /Z7
iSimpleDOMNode_data.c
Creating 'build\x86\ISimpleDOM.manifest'
link /nologo /incremental:no /WX /subsystem:windows,6.03 /release /OPT:REF /export:DllGetClassObject,private /export:DllCanUnloadNow,private /export:GetProxyDllInfo,private /manifest:embed /manifestinput:build\x86\ISimpleDOM.manifest /dll /out:build\x86\ISimpleDOM.dll /implib:build\x86\ISimpleDOM.lib rpcrt4.lib oleaut32.lib ole32.lib /PDB:build\x86\ISimpleDOM.dll.pdb /DEBUG build\x86\iSimpleDOMNode_i.obj build\x86\iSimpleDOMNode_p.obj build\x86\iSimpleDOMNode_data.obj
Creating library build\x86\ISimpleDOM.lib and object build\x86\ISimpleDOM.exp
Install file: "build\x86\ISimpleDOM.dll" as "source\lib\ISimpleDOM.dll"
Install file: "build\x86\ISimpleDOM.dll.pdb" as "source\lib\ISimpleDOM.dll.pdb"
Install file: "build\x86\ISimpleDOM.exp" as "source\lib\ISimpleDOM.exp"
Install file: "build\x86\ISimpleDOM.lib" as "source\lib\ISimpleDOM.lib"
Creating 'build\nvda.rc'
rc /DUNICODE /D_CRT_SECURE_NO_DEPRECATE /DLOGLEVEL=15 /D_WIN32_WINNT=_WIN32_WINNT_WINBLUE /DNOMINMAX /DNDEBUG /Iinclude /Iinclude\wil\include /Imiscdeps\include /Ibuild\x86 /nologo /fobuild\nvda.res build\nvda.rc
cl /Fobuild\x86\apiHook.obj /c build\x86\common\apiHook.cpp /TP /EHsc /nologo /Od /std:c++20 /permissive- /MT /W3 /WX /DUNICODE /D_CRT_SECURE_NO_DEPRECATE /DLOGLEVEL=15 /D_WIN32_WINNT=_WIN32_WINNT_WINBLUE /DNOMINMAX /DNDEBUG /Iinclude /Iinclude\wil\include /Imiscdeps\include /Ibuild\x86 /Z7
apiHook.cpp
MIDL.EXE /nologo /win32 /client none /prefix all nvdaControllerInternal_ /header build\x86\local\nvdaControllerInternal.h /sstub build\x86\local\nvdaControllerInternal_S.c build\x86\interfaces\nvdaControllerInternal\nvdaControllerInternal.idl /acf build\x86\interfaces\nvdaControllerInternal\nvdaControllerInternal.acf
Processing build\x86\interfaces\nvdaControllerInternal\nvdaControllerInternal.idl
nvdaControllerInternal.idl
Processing build\x86\interfaces\nvdaControllerInternal\nvdaControllerInternal.acf
nvdaControllerInternal.acf
cl /Fobuild\x86\local\nvdaHelperLocal.obj /c build\x86\local\nvdaHelperLocal.cpp /TP /EHsc /nologo /Od /std:c++20 /permissive- /MT /W3 /WX /DUNICODE /D_CRT_SECURE_NO_DEPRECATE /DLOGLEVEL=15 /D_WIN32_WINNT=_WIN32_WINNT_WINBLUE /DNOMINMAX /DNDEBUG /Iinclude /Iinclude\wil\include /Imiscdeps\include /Ibuild\x86 /Z7
nvdaHelperLocal.cpp
cl /Fobuild\x86\local\beeps.obj /c build\x86\local\beeps.cpp /TP /EHsc /nologo /Od /std:c++20 /permissive- /MT /W3 /WX /DUNICODE /D_CRT_SECURE_NO_DEPRECATE /DLOGLEVEL=15 /D_WIN32_WINNT=_WIN32_WINNT_WINBLUE /DNOMINMAX /DNDEBUG /Iinclude /Iinclude\wil\include /Imiscdeps\include /Ibuild\x86 /Z7
beeps.cpp
build\x86\local\beeps.cpp(19): error C2039: 'min': is not a member of 'std'
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\cmath(1099): note: see declaration of 'std'
build\x86\local\beeps.cpp(19): error C2873: 'min': symbol cannot be used in a using-declaration
build\x86\local\beeps.cpp(20): error C2039: 'max': is not a member of 'std'
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\cmath(1099): note: see declaration of 'std'
build\x86\local\beeps.cpp(20): error C2873: 'max': symbol cannot be used in a using-declaration
build\x86\local\beeps.cpp(35): error C3861: 'max': identifier not found
build\x86\local\beeps.cpp(35): error C3861: 'min': identifier not found
scons: *** [build\x86\local\beeps.obj] Error 2
scons: building terminated because of errors.
Deactivating NVDA Python virtual environment |
I can reproduce this when I update to VS 2022 V17.11. |
Fixes #17026 Summary of the issue: Trying to compile NVDA with Visual Studio 2022 V17.11 produces the following error: build\x86\local\beeps.cpp(19): error C2039: 'min': is not a member of 'std' std::min and std::max are defined in <algorithm> which we never include in beeps.cpp. I assume that <cmath> used to include <algorithm> and now it does not. Description of user facing changes None. Description of development approach Include <algorithm> in beeps.cpp.
Steps to reproduce:
scons source
Actual behavior:
Unable to successfully build
Expected behavior:
build success
NVDA logs, crash dumps and other attachments:
System configuration
NVDA installed/portable/running from source:
source
NVDA version:
latest master
Windows version:
Version 22H2 (OS Build 22621.3880)
Name and version of other software in use when reproducing the issue:
vs2022 17.11.0
Other information about your system:
I used the new Hyper-V VM for testing
Other questions
Does the issue still occur after restarting your computer?
yes
Have you tried any other versions of NVDA? If so, please report their behaviors.
yes
If NVDA add-ons are disabled, is your problem still occurring?
yes
Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?
yes
The text was updated successfully, but these errors were encountered: