-
Notifications
You must be signed in to change notification settings - Fork 216
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
glslang min_request_version does not accept 15.0.0 #1326
Comments
Change the value to "14.0.0" does not resolve the issue either.
|
Could the glslang-config be buggy and not accepting support for older versions? Or is 15 not officially compatible with 14? I wonder if removing the version check in the find_package line and then checking the version if it's found might work. |
As we discussed last time this came up, glslang's generated CMake config (specifically I don't think they set things up like that intentionally, it's just how CMake defaults to doing things, and they seem to expect that most projects using glslang use a Windows-style workflow where you clone and build the specific version of all dependencies that you want, instead of the Linux-style workflow, letting the system package manager provide your dependencies and having to deal with whichever versions it decides to give you. If we report it to them, it'll probably sit around unsolved like most of their CMake problems, but they'd probably accept a well-reasoned PR. I think I looked into it and decided it wasn't trivial, so would require at least a little bit of thought, so put it off for another day. In the meantime, just set |
Alrighty, we resolved it and package is here: https://mentors.debian.net/package/vulkanscenegraph/ Once there, I'll package up the rest: vsgXchange and examples. Feel free to close this. |
What was the solution? To use Chris' suggestion? It'd be good to have a general solution of the box so won't close it for now. |
For the Debian package we just patched the GLSLANG_MIN_VERSION to 15 from 14. It's less work for us to carry this patch and drop when no longer necessary. We want to keep our d/rules clean, so no need to set a define. |
I just ran into this using VSG from vcpkg. There the workaround is to create an overlay that passes -DGLSLANG_MIN_VERSION=15 to vcpkg_cmake_configure. The proper thing to do is to submit a PR to vcpkg that includes this change. Does anyone claim ownership over the vsg port in vcpkg? I see that @gwaldron submittted that last PR there; Glenn, do you want to make this change, or should I go ahead and do it? |
@timoore I will look into this today - thanks. [update]
Adding So I will submit that PR to vcpkg to support 1.1.7, and @robertosfield can make the call whether to burn this into VSG proper for the next tagged release. Hope that works :) |
I have done some experiments on my Kubuntu 24.04 system that has either glslang-dev package installed that has glslang 14.x or glslang built from source that is 15.x. Without any changes I saw the same cmake error as others have reported. To workaround this issue I have refactor the glslang find code so that it first tries 15, and if that fails fallbacks to trying 14. The change is now checked into VSG master: e07a9a7 I will be tagging a VSG dev release later today/tomorrow that will include this. Would appreciate others have a look over it and ideally test it as well. Thanks. |
We're probably going to have the same issue with glslang 16 when it appears (unless we convince the upstream maintainers to customise their |
FWIW, the vcpkg team would only accept a patch that passed in |
The original problem was that we knew 13.x and older definitely didn't work properly on Windows as glslang's CMake was a mess. vcpkg's glslang port had workarounds for many of the problems, so older versions from there were mostly fine anyway, so the minimum version check is less important there. The original intention was that the check would permit 14+, and it was only when 15 was released that we realised it meant |
I have been wondering about simply dropping the version check on the find_package and trying to come up with an alternative version check in the CMake. We used to have a bit of convoluted systems for detecting glslang version but that got removed when I moved glslang to be internal. |
The main reason I can think of not to do that is that having it in the |
Describe the bug
Looks like cmake is not parsing 15.0.0 correctly and claims that it does not meet the min requirement of 14.
To Reproduce
Steps to reproduce the behavior:
Debian Sid
https://packages.debian.org/source/sid/glslang
cmake .
Expected behavior
Should configure and find glslang
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
I'm packaging VSG upstream to Debian
The text was updated successfully, but these errors were encountered: