Skip to content
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

Python 3.* required to build shaderc #3

Closed
oldmanauz opened this issue Oct 16, 2021 · 2 comments
Closed

Python 3.* required to build shaderc #3

oldmanauz opened this issue Oct 16, 2021 · 2 comments
Labels
documentation Improvements or additions to documentation

Comments

@oldmanauz
Copy link
Contributor

Hi, just when building these dependencies, python 3.* (I used Pythin 3.10 x64) was beeded to build the "shaderc" project.

  1. Would you like this documented?
  2. Is "shaderc" necessary for the vulkan renderer?
@darksylinc darksylinc added the documentation Improvements or additions to documentation label Oct 16, 2021
@darksylinc
Copy link
Member

darksylinc commented Oct 16, 2021

Would you like this documented?

Yes please! This was brought to my attention some time ago but it was never addressed.

Is "shaderc" necessary for the vulkan renderer?

Short answer:
Sadly yes. Shaderc is a gigantic dependency from which we use little of it but it is needed to get glslang properly working in all platforms.

Long answer:
In theory we shouldn't need it because we only needed glslang (shaderc is a compilation of tools, and includes glslang and a stable C interface to glslang we don't actually use) and I had trouble to link against glslang directly in all the configurations we have (Debug, Release, C++98, C++ >= 11, Android, Linux, Windows) while with shaderc it just worked.

It didn't make any sense, but Google somehow sorted that out.

Without glslang we cannot compile glsl shaders; which is currently the only shader format we support for Vulkan.

@oldmanauz
Copy link
Contributor Author

oldmanauz commented Oct 16, 2021

@darksylinc, Another issue I just got, all the dependencies build fine in debug/release, but when building the "INSTALL" project:

"/OUT:.....\ogre-next-deps\build\src\shaderc-prefix\src\shaderc-build\libshaderc_util\Debug\shaderc_util.lib" /NOLOGO /MACHINE:X64 /machine:x64 shaderc_util.dir\Debug\args.obj
2>  shaderc_util.dir\Debug\compiler.obj
2>  shaderc_util.dir\Debug\file_finder.obj
2>  shaderc_util.dir\Debug\io.obj
2>  shaderc_util.dir\Debug\message.obj
2>LINK : fatal error LNK1104: cannot open file 'shaderc_util.dir\Debug\message.obj' [...\ogre-next-deps\build\src\shaderc-prefix\src\shaderc-build\libshaderc_util\shaderc_util.vcxproj]
2>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): error MSB8066: Custom build for '...\ogre-next-deps\build\CMakeFiles\d14543c6218fc9f077e713722cf889fe\shaderc-build.rule;...\ogre-next-deps\build\CMakeFiles\d14543c6218fc9f077e713722cf889fe\shaderc-install.rule;...\ogre-next-deps\build\CMakeFiles\b42f6240be198c9ffb646529365d769a\shaderc-complete.rule;...\ogre-next-deps\build\CMakeFiles\f54f24ee0f59ec4d2c4f5236caa1b932\shaderc.rule' exited with code 1.
2>Done building project "shaderc.vcxproj" -- FAILED.

For both debug and release. The debug and release "message.obj" files exist at "...\ogre-next-deps\build\src\shaderc-prefix\src\shaderc-build\libshaderc_util\shaderc_util.dir[Debug|Release]".
Am I doing something stupid?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants