KhronosGroup / glslang

Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.
Other
2.9k stars 816 forks source link

Not compatible with Windows Server 2019 #2024

Open cooldark opened 4 years ago

cooldark commented 4 years ago

We are struggling with getting the glslangvalidator running on a Windows Server 2019 machine. It works fine with Server 2012 R2 and Windows10 but not with a current version:

OS Name: Microsoft Windows Server 2019 Standard OS Version: 10.0.17763 N/A Build 17763 It is running on OpenStack Nova.

Error: [WinError 216] This version of glslangValidator.exe is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher

Does anyone have an idea or solution hint?

johnkslang commented 4 years ago

How are you building it? Or, getting it already built?

cooldark commented 4 years ago

Hi John, thanks fpr the quick reply. We are not building it and have testes the glslang-master-windows-x64-Release.zip from the May release and from master-tot. When building manually do we have to build it on the Windows Server 2019 system?

graptis commented 4 years ago

This usually means that you are running a 64-bit binary on a 32-bit version of windows.

cooldark commented 4 years ago

@graptis: No, all Windows-Server are 64bit and we are using the correct binary.

johnkslang commented 4 years ago

You should just need to build while targeting the right environment. MSVC has options (sometimes have to download and install?) to target other kinds of systems. I did that once to make Windows 7 still accept binaries from a modern system. Need to look up the details.

cooldark commented 4 years ago

Tried to get it build locally (which works), but on the target system still get the error message :( Not sure which compiler options for MSVC 2017 shall be used to get it compatible.

Environment: Python 3.7.5 + CMake 3.15.4 + VisualStudio 15.9.17

Steps in short: 1) Cloned https://github.com/KhronosGroup/glslang.git 2) cmake -G "Visual Studio 15 2017 Win64" . C:\\glslang 3) cmake --build . --config Release --target install

$ glslangValidator.exe -v Glslang Version: 8.13.3559 ESSL Version: OpenGL ES GLSL 3.20 glslang Khronos. 13.3559 GLSL Version: 4.60 glslang Khronos. 13.3559 SPIR-V Version 0x00010400, Revision 1 GLSL.std.450 Version 100, Revision 1 Khronos Tool ID 8 SPIR-V Generator Version 8 GL_KHR_vulkan_glsl version 100 ARB_GL_gl_spirv version 100

stefanze1976 commented 4 years ago

Hi everyone,

I'm facing the same problem! Tried to build it locally for x64 platform (which was successfull) and it runs locally on my Windows10 machine. But once I transfer the executeable to my open cloud Jenkins Server (Windows Server 2019 Standard) I get the same error Message:

This version of c:\jenkins\workspace\glslangValidator\glslangValidator.exe is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.

Any help would be really appreciated.

Best, Stefan

johnkslang commented 4 years ago

Has anyone tried using Visual Studio 2019?

johnkslang commented 4 years ago

Another idea (generated internally) is to try the 10.0.10586.0 SDK, if you can independently combine that with your Visual Studio.

When you create a VS project, you select the SDK version to work against, e.g. with cmake -DCMAKE_SYSTEM_VERSION=10.0.10586.0.

We don't know if this will solve the problem; just a possibility.

stefanze1976 commented 4 years ago

Hi John, thanks for getting back to us. Sorry to ask this stupid question but where can I find the 10.0.10586.0 SDK? Thanks, Stefan

johnkslang commented 4 years ago

I'm not an expert, but I'm assuming one of the 10.0.10586.XXX SDKs from here would work:

https://developer.microsoft.com/en-us/windows/downloads/sdk-archive

stefanze1976 commented 4 years ago

Hi John,

thank you. I tried it but it is still not working. One thing which comes into my mind, since we a running a open cloud Windows Server on Jenkins. Which system/openGL dll (driver) are required by glslangValidator or are there other dependencies? Maybe there are some which does not come with a open cloud Windows Server (they have no graphic card installed running only on shell).

Best, Stefan

johnkslang commented 4 years ago

Glslang has no dependencies on OpenGL or any graphics hardware/software. It only needs standard libraries to link against.

Is it possible the host white lists what's allowed to run?

arcady-lunarg commented 1 month ago

@cooldark @stefanze1976 Have you managed to resolve your build issue with with newer versions of glslang and/or Windows? Can we close this issue?