-
Notifications
You must be signed in to change notification settings - Fork 39
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
SPIRV and GLSLANG linker errors for examples #59
Comments
Hmm, it looks like an issue with shaderc - could it be that the locally available version of shaderc might be out-of-date? Which flavour of Linux (and version) are you working with? In case it's Arch Linux, it might be that the shaderc package is installed separately, and needs updating. |
uname -a
6.6.1-gentoo #1 SMP PREEMPT_DYNAMIC Thu Nov 9 05:40:10 CET 2023 x86_64 Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz GenuineIntel GNU/Linux shaderc -v
shaderc, bgfx shader compiler tool, version 1.18.118.
shaderc-2023.7
glslc --version
dev-util/spirv-tools-1.3.268
dev-util/glslang-1.3.268-r2
Target: SPIR-V 1.0
libtool --version
libtool (GNU libtool) 2.4.7
ld --version
GNU ld (Gentoo 2.41 p2) 2.41.0 gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/13/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-13.2.1_p20231118/work/gcc-13-20231118/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/13 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/13/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/13 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/13/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/13/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13 --disable-silent-rules --disable-dependency-tracking --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/13/python --enable-objc-gc --enable-languages=c,c++,d,go,objc,obj-c++,fortran,ada,m2 --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 13.2.1_p20231118 p10' --with-gcc-major-version-only --enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-fixed-point --enable-targets=all --enable-libgomp --disable-libssp --disable-libada --disable-cet --disable-systemtap --disable-valgrind-annotations --enable-vtable-verify --with-zstd --with-isl --disable-isl-version-check --enable-default-pie --enable-default-ssp --with-build-config='bootstrap-O3 bootstrap-lto'
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.1 20231118 (Gentoo 13.2.1_p20231118 p10) |
Oh nice, Gentoo! :) the only thing that looks a bit strange is the output of I see from the bgfx docs that it provides a tool called |
change shaderc_combined to shaderc_shared in modules/le_shader_compiler/CMakeLists.txt fix this on fedora |
@simsilver that could be a workaround if a system does not provide Note that an Island application that was compiled against |
Hmm, I have installed the shaderc_combined static lib, tried that if link with shaderc_combined, I need append "SPIRV MachineIndependent GenericCodeGen OGLCompiler OSDependent SPIRV-Tools SPIRV-Tools-opt" after shaderc_combined too on fedora, and the first 5 static lib from glslang-devel, last 2 shared lib from spirv-tools-libs |
@simsilver huh, looks like the shaderc_combined library is somehow different to what i have on ubuntu - or windows, for that matter... ideally, it shouldn't have to be this cumbersome to set it up. Could it be that your install is using a Fedora rpm package for shaderc, and not the version of shaderc that is provided with the Vulkan SDK tarball? It's good to find out about these subtle differences between linux flavours, and installs... I think the default option should be to somehow find the local Vulkan SDK install, and use shaderc from there. I'm all ears for ideas of how this could be achieved more reliably :) |
The text was updated successfully, but these errors were encountered: