google / shaderc-rs Goto Github PK
View Code? Open in Web Editor NEWRust bindings for the shaderc library.
Home Page: https://docs.rs/shaderc
License: Apache License 2.0
Rust bindings for the shaderc library.
Home Page: https://docs.rs/shaderc
License: Apache License 2.0
build.rs
fails with the following error-message, when shaderc-rs is included as a dependency in a project.
Compiling shaderc v0.3.1
error: failed to run custom build command for `shaderc v0.3.1`
[...]
--- stderr
fatal: Not a git repository (or any parent up to mount point /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
thread 'main' panicked at 'git submodule update --init failed', ~/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-0.3.1/build/build.rs:28:8
stack backtrace:
0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
1: std::sys_common::backtrace::_print
at /checkout/src/libstd/sys_common/backtrace.rs:71
2: std::panicking::default_hook::{{closure}}
at /checkout/src/libstd/sys_common/backtrace.rs:60
at /checkout/src/libstd/panicking.rs:380
3: std::panicking::default_hook
at /checkout/src/libstd/panicking.rs:396
4: std::panicking::rust_panic_with_hook
at /checkout/src/libstd/panicking.rs:611
5: std::panicking::begin_panic_new
at /checkout/src/libstd/panicking.rs:553
6: build_script_build::git_submodule_update
at ./build/build.rs:28
7: build_script_build::main
at ./build/build.rs:69
8: __rust_maybe_catch_panic
at /checkout/src/libpanic_unwind/lib.rs:98
9: std::rt::lang_start
at /checkout/src/libstd/panicking.rs:458
at /checkout/src/libstd/panic.rs:361
at /checkout/src/libstd/rt.rs:59
10: main
11: __libc_start_main
12: _start
I guess a solution would be, to call git submodule update
only, if there is a .git
directory
Hello, when I try to load my program straight from the targets/release directory, I get this errror:
./test_assets: error while loading shared libraries: libshaderc_shared.so: cannot open shared object file: No such file or directory
.
However, it works fine when I run it with cargo run --release
I noticed that shaderc-rs
builds pretty fine for iOS already but not for Android. But shaderc is de facto standard for Android.
I tried to build shaderc-rs
for Android and got some weird errors from cmake:
[296/379] Linking CXX shared library spirv-tools/source/libSPIRV-Tools-shared.dylib FAILED: spirv-tools/source/libSPIRV-Tools-shared.dylib aarch64-linux-android29-clang++ -DANDROID -ffunction-sections -fdata-sections -fPIC -O3 -DNDEBUG -isysroot /crtbegin_dynamic.o: In function _start_main': crtbegin.c:(.text+0x38): undefined reference to main' crtbegin.c:(.text+0x3c): undefined reference to `main' clang++: error: linker command failed with exit code 1 (use -v to see invocation) [299/379] Building CXX object spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/extensions.cpp.o ninja: build stopped: subcommand failed.
$ cargo apk run Compiling shaderc-sys v0.6.2 The following warnings were emitted during compilation:warning: System installed library not found. Falling back to build from source
error: failed to run custom build command for
shaderc-sys v0.6.2
Caused by:
process didn't exit successfully:/Users/enfipy/Desktop/Development/Own/creator-rs/creator/target/debug/build/shaderc-sys-e7e8ad6d63e326cd/build-script-build
(exit code: 101)
--- stdout
cargo:warning=System installed library not found. Falling back to build from source
running: "cmake" "/Users/enfipy/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build" "-G" "Ninja" "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" "-DSPIRV_SKIP_EXECUTABLES=ON" "-DSPIRV_WERROR=OFF" "-DSHADERC_SKIP_TESTS=ON" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_INSTALL_PREFIX=/Users/enfipy/Desktop/Development/Own/creator-rs/creator/target/aarch64-linux-android/debug/build/shaderc-sys-128d78ee4a4deb1b/out" "-DCMAKE_C_FLAGS= -DANDROID -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_C_COMPILER=/Users/enfipy/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android29-clang" "-DCMAKE_CXX_FLAGS= -DANDROID -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_CXX_COMPILER=/Users/enfipy/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android29-clang++" "-DCMAKE_ASM_FLAGS= -DANDROID -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_ASM_COMPILER=/Users/enfipy/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android29-clang" "-DCMAKE_BUILD_TYPE=Release"
-- Building SPIRV-Header examples
-- Installing SPIRV-Header
-- Google Mock was not found - tests based on that will not build
-- optimizer enabled
-- Shaderc: build type is "Release".
-- Configuring Shaderc to avoid building tests.
-- asciidoctor was not found - no documentation will be generated
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/enfipy/Desktop/Development/Own/creator-rs/creator/target/aarch64-linux-android/debug/build/shaderc-sys-128d78ee4a4deb1b/out/build
running: "cmake" "--build" "." "--target" "install" "--config" "Release" "--" "-j4"
[1/85] cd /Users/enfipy/Desktop/Development/Own/creator-rs/creator/target/aarch64-linux-android/debug/build/shaderc-sys-128d78ee4a4deb1b/out/build/spirv-tools && /usr/local/Cellar/cmake/3.17.0_1/bin/cmake -DCHANGES_FILE=/Users/enfipy/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build/spirv-tools/CHANGES -DTEMPLATE_FILE=/Users/enfipy/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build/spirv-tools/cmake/SPIRV-Tools-shared.pc.in -DOUT_FILE=/Users/enfipy/Desktop/Development/Own/creator-rs/creator/target/aarch64-linux-android/debug/build/shaderc-sys-128d78ee4a4deb1b/out/build/spirv-tools/SPIRV-Tools-shared.pc -DCMAKE_INSTALL_PREFIX=/Users/enfipy/Desktop/Development/Own/creator-rs/creator/target/aarch64-linux-android/debug/build/shaderc-sys-128d78ee4a4deb1b/out -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_INCLUDEDIR=include -DSPIRV_SHARED_LIBRARIES=-lSPIRV-Tools-shared -P /Users/enfipy/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build/spirv-tools/cmake/write_pkg_config.cmake
[2/85] cd /Users/enfipy/Desktop/Development/Own/creator-rs/creator/target/aarch64-linux-android/debug/build/shaderc-sys-128d78ee4a4deb1b/out/build/spirv-tools && /usr/local/Cellar/cmake/3.17.0_1/bin/cmake -DCHANGES_FILE=/Users/enfipy/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build/spirv-tools/CHANGES -DTEMPLATE_FILE=/Users/enfipy/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build/spirv-tools/cmake/SPIRV-Tools.pc.in -DOUT_FILE=/Users/enfipy/Desktop/Development/Own/creator-rs/creator/target/aarch64-linux-android/debug/build/shaderc-sys-128d78ee4a4deb1b/out/build/spirv-tools/SPIRV-Tools.pc -DCMAKE_INSTALL_PREFIX=/Users/enfipy/Desktop/Development/Own/creator-rs/creator/target/aarch64-linux-android/debug/build/shaderc-sys-128d78ee4a4deb1b/out -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_INCLUDEDIR=include -DSPIRV_LIBRARIES=-lSPIRV-Tools-opt\ -lSPIRV-Tools\ -lSPIRV-Tools-link -P /Users/enfipy/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build/spirv-tools/cmake/write_pkg_config.cmake
[3/85] Linking CXX shared library spirv-tools/source/libSPIRV-Tools-shared.dylib
FAILED: spirv-tools/source/libSPIRV-Tools-shared.dylib
: && /Users/enfipy/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android29-clang++ -DANDROID -ffunction-sections -fdata-sections -fPIC -O3 -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -dynamiclib -Wl,-headerpad_max_install_names -o spirv-tools/source/libSPIRV-Tools-shared.dylib -install_name /Users/enfipy/Desktop/Development/Own/creator-rs/creator/target/aarch64-linux-android/debug/build/shaderc-sys-128d78ee4a4deb1b/out/build/spirv-tools/source/libSPIRV-Tools-shared.dylib spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_fuzzer_options.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_reducer_options.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_extensions.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory_semantics.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_misc.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_scopes.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_small_type_uses.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o && :
clang++: warning: argument unused during compilation: '-dynamiclib' [-Wunused-command-line-argument]
clang++: warning: argument unused during compilation: '-install_name /Users/enfipy/Desktop/Development/Own/creator-rs/creator/target/aarch64-linux-android/debug/build/shaderc-sys-128d78ee4a4deb1b/out/build/spirv-tools/source/libSPIRV-Tools-shared.dylib' [-Wunused-command-line-argument]
/Users/enfipy/Library/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/darwin-x86_64/bin/../sysroot/usr/lib/aarch64-linux-android/29/crtbegin_dynamic.o: In function_start_main': crtbegin.c:(.text+0x38): undefined reference to
main'
crtbegin.c:(.text+0x3c): undefined reference to `main'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
[4/85] Building CXX object spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/print.cpp.o
[5/85] Building CXX object spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/parsed_operand.cpp.o
[6/85] Building CXX object spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/operand.cpp.o
ninja: build stopped: subcommand failed.--- stderr
CMake Warning (dev) at CMakeLists.txt:8 (project):
Policy CMP0048 is not set: project() command manages VERSION variables.
Run "cmake --help-policy CMP0048" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.The following variable(s) would be set to empty: CMAKE_PROJECT_VERSION CMAKE_PROJECT_VERSION_MAJOR CMAKE_PROJECT_VERSION_MINOR CMAKE_PROJECT_VERSION_PATCH
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev):
Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake
--help-policy CMP0042" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.MACOSX_RPATH is not specified for the following targets: SPIRV-Tools-shared shaderc_shared
This warning is for project developers. Use -Wno-dev to suppress it.
thread 'main' panicked at '
command did not execute successfully, got: exit code: 1build script failed, must exit now', /Users/enfipy/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.44/src/lib.rs:885:5
note: run withRUST_BACKTRACE=1
environment variable to display a backtrace
Error: Command 'cargo build --target aarch64-linux-android' had a non-zero exit code.
I'm not sure what exactly is broken here. Any help will be highly appreciated!
Problems to compile simple shader
Hey guys,
Actually I just need some tips.
I am trying to compile a very simple shader using your solution and I am getting an error which using the command line tool glslc I don't have.
2020-04-11 23:22:37.189893+0100 rustgraphics[53825:2886692] flock failed to lock maps file: errno = 35 thread 'main' panicked at 'called
Result::unwrap()on an
Errvalue: Render("2 compilation errors:\n/Users/jhonnyvargas/dev/rustgraphics/src/vert.glsl:8: error: \'gl_VertexIndex\' : undeclared identifier\n/Users/jhonnyvargas/dev/rustgraphics/src/vert.glsl:8: error: \'&\' : wrong operand types: no operation \'&\' exists that takes a left-hand operand of type \' temp float\' and a right operand of type \' const int\' (or there is no acceptable conversion)\n")', src/renderer/shader.rs:35:9 stack backtrace:
this is how I am compiling https://github.com/jkvargas/ruststudy/blob/master/src/renderer/shader.rs
and this is the shader itself: https://github.com/jkvargas/ruststudy/blob/master/src/vert.glslby the way I am on a MacOS 10.15.4
and my toolchain is stable-x86_64-apple-darwin unchanged - rustc 1.42.0 (b8cedc004 2020-03-09)Specifying Spir-V Version
shaderc now has the function
shaderc_compile_options_set_target_spirv
in the main repo, is it possible for this to exported in shaderc-sys and shader-rs?Still `MAX_LENGTH_ERROR` even using Ninja
Versions
- cmake version: 3.12.2
- ninja version: 1.9.0
- git version 2.21.0.windows.1
- python version Python 3.6.5rc1
PATH
%PATH%:D:\tools\ninja:D:\tools\MSYS2:C:\Program Files\Python36:C:\PROGRA~1\CMake\bin
Error
Errors when compiling:
Build FAILED. "D:\Workspaces\RustWorkspace\vtr\target\debug\build\shaderc-b4cd8b461463a31a\out\build\install.vcxproj" (default target) (1) -> "D:\Workspaces\RustWorkspace\vtr\target\debug\build\shaderc-b4cd8b461463a31a\out\build\ALL_BUILD.vcxproj" (default target) (3) -> "D:\Workspaces\RustWorkspace\vtr\target\debug\build\shaderc-b4cd8b461463a31a\out\build\glslang\SPIRV\SPIRV.vcxproj" (default target) (7) -> "D:\Workspaces\RustWorkspace\vtr\target\debug\build\shaderc-b4cd8b461463a31a\out\build\spirv-tools\source\SPIRV-Tools.vcxproj" (default target) (8) -> "D:\Workspaces\RustWorkspace\vtr\target\debug\build\shaderc-b4cd8b461463a31a\out\build\spirv-tools\source\extinst_tables.vcxproj" (default target) (11) -> "D:\Workspaces\RustWorkspace\vtr\target\debug\build\shaderc-b4cd8b461463a31a\out\build\spirv-tools\source\spirv-tools-spv-amd-shader-explicit-vertex-parameter.vcxproj" (default target) (16) -> (InitializeBuildStatus target) -> C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(321,5): error MSB3491: Could not write lines to file "x64\Release\spirv-tools-spv-amd-shader-explicit-vertex-parameter\spirv-to.246FD402.tlog\spirv-tools-spv-amd-shader-explicit-vertex-parameter.lastbuildstate". The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. [D:\Workspaces\RustWorkspace\vtr\target\debug\build\shaderc-b4cd8b461463a31a\out\build\spirv-tools\source\spirv-tools-spv-amd-shader-explicit-vertex-parameter.vcxproj]
Questions
- I wonder if I set the ENV correctly?
- Whether or not I put Ninja into the PATH, I always get this MAX_LENGTH_ERROR, but the package is different.
Update shaderc-rs (and shaderc-sys) on crates.io please
The folks over at bevyengine/bevy#539 (comment) want the addition of #83 on crates.io, to have iOS support in bevy in an upcoming release. Could someone push a new version to cratesi.o please?
Thanks!
Compiling with --no-default-features
I ran into issue #33 and as a workaround, I wanted to provide my own version of the shaderc_combined library instead of compiling in build.rs. The readme suggests this is possible by disabling default features and putting the library in the correct target/deps directory, but this does not seem to work: the linker does not find the shaderc_* symbols (also the native library doesn't seem to be passed into the linker arguments).
I might be forgetting something obvious that's needed for linking with the native library, but the readme doesn't say a lot on this particular use case.
Tests no longer pass
Since the build script doesn't pin the pulled repos to a particular commit, it picks the latest versions of each of them. As well as potentially silently introducing breakage or errors, this has caused the tests to fail. Presumably the best way of dealing with this is to checkout particular commits in the build script, instead of blindly updating.
Use Precompiled Sources to Link Against
I'm identifying a course of action to use pre-compiled sources to make it easier on users and package maintainers who need the rust bindings to above all build.
We have the .hpp and .so's in precompiled packages
https://www.archlinux.org/packages/extra/x86_64/shaderc/Obviously Gentoo will include basically the entire build
https://packages.gentoo.org/packages/media-libs/shadercAs for how to convince build.rs to optionally favor a system package for the rest of the makefile and to not check out (or just not build them), I will have to start getting up to speed on how the rust package is deciding what to link against and how to add options.
If a course of implementation is recommended I can PR the changes as well as test on my CI server's and assist in getting pre-built tooling into maintenance and actually maintain it.
Build fails on Windows with static CRT
When compiling a project with static CRT enabled (
rustflags = ["-C", "target-feature=+crt-static"]
set in.cargo/config
for[target.x86_64-pc-windows-msvc]
), the underlying shaderc C++ library fails to link.The error log is pretty long; here is one of the failed CI runs from the project I am working on.
Can we install the binaries just once to the .cargo/bin/, instead of per project?
Would it be possible to change the project's general setup so that the C++ binaries go into the
.cargo/bin/
directory, instead of having them be built per project and per project profile?Error compiling with Ninja
I'm running this with vulkano_shaders, and running into an issue with the CMake command:
Compiling shaderc v0.3.16 error: failed to run custom build command for `shaderc v0.3.16` process didn't exit successfully: `C:\dev\oceanic\target\debug\build\shaderc-083ecb82f454c8e1\build-script- build` (exit code: 101) --- stdout running: "cmake" "C:\\Users\\Alic Szecsei\\.cargo\\registry\\src\\github.com-1ecc6299db9ec823\\shaderc-0.3. 16\\build" "-G" "Ninja" "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" "-DSPIRV_SKIP_EXECUTABLES=ON" "-DSPIRV_WERRO R=OFF" "-DSHADERC_SKIP_TESTS=ON" "-DCMAKE_C_FLAGS= /nologo /EHsc" "-DCMAKE_CXX_FLAGS= /nologo /EHsc" "-DCMA KE_C_FLAGS_RELEASE= /nologo /EHsc" "-DCMAKE_CXX_FLAGS_RELEASE= /nologo /EHsc" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_INSTALL_PREFIX=C:\\dev\\oceanic\\target\\debug\\build\\shaderc-934afc85cbc7abde\\out" "-DCMAKE_C_C OMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/HostX64 /x64/cl.exe" "-DCMAKE_CXX_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/M SVC/14.16.27023/bin/HostX64/x64/cl.exe" "-DCMAKE_BUILD_TYPE=Release" -- Building SPIRV-Header examples -- SPIRV-Tools: nosetests found - python support code will be tested -- Google Mock was not found - tests based on that will not build -- optimizer enabled -- Shaderc: build type is "Release". -- Configuring Shaderc to avoid building tests. -- asciidoctor was not found - no documentation will be generated -- Configuring done -- Generating done -- Build files have been written to: C:/dev/oceanic/target/debug/build/shaderc-934afc85cbc7abde/out/build running: "cmake" "-j4" "--build" "." "--target" "install" "--config" "Release" "--" --- stderr CMake Error: The source directory "C:/dev/oceanic/target/debug/build/shaderc-934afc85cbc7abde/out/build/--" does not exist. Specify --help for usage, or press the help button on the CMake GUI. thread 'main' panicked at ' command did not execute successfully, got: exit code: 1 build script failed, must exit now', C:\Users\Alic Szecsei\.cargo\registry\src\github.com-1ecc6299db9ec823\ cmake-0.1.36\src\lib.rs:813:5
Obviously "--" is getting appended to the build directory, but I have no idea how to fix this - any suggestions?
=========
EDIT: Removing Ninja from your path should fix this error; it would be nice if there were a feature to disable Ninja so I could continue to use it for other projects without having it be automatically detected and used in this one.
MinGW undefined references to C++11 STL strings
I used
windows-gnu
toolchain:C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: E:\ark0f\Programming\Rust\projects\project-sakura\target\debug\deps\libshaderc_sys-9ed1b06d472302b7.rlib(validate_builtins.cpp.obj):validate_builtins.cpp:(.text$_ZN8spvtools3val12_GLOBAL__N_117BuiltInsValidator20ValidateF32VecHelperERKNS0_10DecorationERKNS0_11InstructionEjRKSt8functionIF12spv_result_tRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEj.isra.0+0x496): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: E:\ark0f\Programming\Rust\projects\project-sakura\target\debug\deps\libshaderc_sys-9ed1b06d472302b7.rlib(validate_builtins.cpp.obj):validate_builtins.cpp:(.text$_ZN8spvtools3val12_GLOBAL__N_117BuiltInsValidator14ValidateI32VecERKNS0_10DecorationERKNS0_11InstructionEjRKSt8functionIF12spv_result_tRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE.isra.0+0x187): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: E:\ark0f\Programming\Rust\projects\project-sakura\target\debug\deps\libshaderc_sys-9ed1b06d472302b7.rlib(validate_builtins.cpp.obj):validate_builtins.cpp:(.text$_ZN8spvtools3val12_GLOBAL__N_117BuiltInsValidator14ValidateI32VecERKNS0_10DecorationERKNS0_11InstructionEjRKSt8functionIF12spv_result_tRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE.isra.0+0x32c): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: E:\ark0f\Programming\Rust\projects\project-sakura\target\debug\deps\libshaderc_sys-9ed1b06d472302b7.rlib(validate_builtins.cpp.obj):validate_builtins.cpp:(.text$_ZN8spvtools3val12_GLOBAL__N_117BuiltInsValidator20ValidateF32ArrHelperERKNS0_10DecorationERKNS0_11InstructionEjRKSt8functionIF12spv_result_tRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEj.isra.0+0x26b): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: E:\ark0f\Programming\Rust\projects\project-sakura\target\debug\deps\libshaderc_sys-9ed1b06d472302b7.rlib(validate_builtins.cpp.obj):validate_builtins.cpp:(.text$_ZN8spvtools3val12_GLOBAL__N_117BuiltInsValidator20ValidateF32ArrHelperERKNS0_10DecorationERKNS0_11InstructionEjRKSt8functionIF12spv_result_tRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEj.isra.0+0x432): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: E:\ark0f\Programming\Rust\projects\project-sakura\target\debug\deps\libshaderc_sys-9ed1b06d472302b7.rlib(validate_builtins.cpp.obj):validate_builtins.cpp:(.text$_ZN8spvtools3val12_GLOBAL__N_117BuiltInsValidator33ValidateSingleBuiltInAtDefinitionERKNS0_10DecorationERKNS0_11InstructionE+0x1cc7): more undefined references to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()' follow collect2.exe: error: ld returned 1 exit status
Error compiling with Ninja on Windows
I get a linking error when trying to compile with Ninja:
Z:\DDocuments\Code\Rust\projects\19-2\hal_test (master -> origin) λ cargo run Compiling proc-macro2 v0.4.27 Compiling semver-parser v0.7.0 Compiling num-traits v0.2.6 Compiling winapi v0.3.6 Compiling autocfg v0.1.2 Compiling num-integer v0.1.39 Compiling typenum v1.10.0 Compiling byteorder v1.3.1 Compiling rayon-core v1.4.1 Compiling num-complex v0.2.1 Compiling failure_derive v0.1.5 Compiling cc v1.0.29 Compiling num-derive v0.2.4 Compiling rustc-demangle v0.1.13 Compiling num-iter v0.1.37 Compiling rand_core v0.4.0 Compiling matrixmultiply v0.1.15 Compiling rayon v1.0.3 Compiling num-rational v0.2.1 Compiling either v1.5.1 Compiling libm v0.1.2 Compiling adler32 v1.0.3 Compiling rawpointer v0.1.0 Compiling lzw v0.10.0 Compiling bitflags v1.0.4 Compiling color_quant v1.0.1 Compiling smallvec v0.6.9 Compiling safe-transmute v0.10.1 Compiling scoped_threadpool v0.1.9 Compiling range-alloc v0.1.0 Compiling arrayvec v0.4.10 Compiling libc v0.2.49 Compiling crossbeam-utils v0.2.2 Compiling log v0.4.6 Compiling backtrace v0.3.14 Compiling rand_chacha v0.1.1 Compiling rand v0.6.5 Compiling semver v0.9.0 Compiling cmake v0.1.35 Compiling spirv_cross v0.12.1 Compiling rand_core v0.3.1 Compiling inflate v0.4.5 Compiling gif v0.10.1 Compiling rustc_version v0.2.3 Compiling rand_hc v0.1.0 Compiling rand_isaac v0.1.1 Compiling rand_xorshift v0.1.1 Compiling shaderc v0.3.16 Compiling num_cpus v1.10.0 Compiling crossbeam-epoch v0.3.1 Compiling fxhash v0.2.1 Compiling deflate v0.7.19 Compiling approx v0.3.1 Compiling generic-array v0.11.1 Compiling quote v0.6.11 Compiling rand_pcg v0.1.1 Compiling alga v0.7.2 Compiling syn v0.15.26 Compiling crossbeam-deque v0.2.0 Compiling time v0.1.42 Compiling rand v0.5.6 Compiling rand_jitter v0.1.3 Compiling rand_os v0.1.2 Compiling d3d12 v0.1.0 Compiling png v0.14.0 Compiling winit v0.18.1 Compiling chrono v0.4.6 Compiling nalgebra v0.16.13 Compiling simple_logger v1.0.1 Compiling jpeg-decoder v0.1.15 Compiling synstructure v0.10.1 Compiling derivative v1.0.2 Compiling tiff v0.2.2 Compiling failure v0.1.5 Compiling gfx-hal v0.1.0 Compiling image v0.21.0 Compiling gfx-backend-dx12 v0.1.1 Compiling nalgebra-glm v0.2.1 Compiling hal_test v0.1.0 (Z:\DDocuments\Code\Rust\projects\19-2\hal_test) error: linking with `link.exe` failed: exit code: 1169 | = note: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX64\\x64\\link.exe" "/NOLOGO" "/NXCOMPAT" "/LIBPATH:C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.102v0kev4kniol1m.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.10fp43jwndniqshy.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.18p6nq35pcdr8a46.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.19tvtkrgjzzlxey1.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1bgohmsoej322d3p.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1c1i8oqk8ba7uqks.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1cnkpc8273yw08yu.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1g4150ukzzcwuzm7.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1ij1qsek3hrjmo3a.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1iwn1vpbbea402j.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1ntqiezadld4mxs6.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1p6qh003ng26c6h1.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1pyd8gz7k6lt4p6f.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1qt6bx81gb3b7tcv.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1rdbj35pp4jhp07u.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1sk3fq93rl07wfjk.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1u2wmn1wehwhojwp.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1vz0yy1vzcyjpbpp.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.1zsj46scalqpw7at.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.22vqjzj7i49l3m1z.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.22ynq4cbg97m8cm1.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.23dbki22jxd9x04a.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.248nsyaqd0gjvdzi.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.24ia9l5f57u44x26.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.26zehwaglx7v1kn1.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.27x01o5jdm32sv2.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.29qkmcv50ivifrqf.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2befzh5fqfh321zp.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2c4s1qti4e0fyaf5.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2fohcjhy9foyt09.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2hbuotxp9njw32cz.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2hugg6dtx0h2xd5x.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2j4hi3z046w7sxps.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2j87rj2exfwyeqdq.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2kyzcjv8t3d03e3o.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2l71546r9m4yyhuo.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2nfidjsbestwy3l0.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2nz06knrceuhk6cu.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2pdprxn04mde4yxs.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2qnttv7xzout0fi0.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2s5oq8qj1f44f8gx.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2t90a6cfbdjalosl.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2vj4xjgba9obwxfe.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2w6075bssfbalh23.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2wo6yyjtndgw34lb.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.2ynkx0b0347sw0w1.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.32ipy1k0vv23w2wq.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.33nvkoy8wjk8f6fa.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.362algkm5kv17nyt.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.375um2a51mqmwrkf.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.3c4pnrodhr3v6h41.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.3c4roquayhmgjw17.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.3d1nzjd4f42ymxtd.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.3fk193nd8w4gvwgp.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.3fl9olikjbmdf29u.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.3g9unb82rm4vcy5g.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.3hsaqwyigo9jl1mj.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.3jfhnvqhs95uoaxz.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.3l46t8y83c0bnrua.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.3qtsrg9jpupmwez2.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.3rs506abdn5s55c6.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.3v4pll5bbfvfg83g.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.3y21ek76ak8blrb0.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.407cc9sjhnldfzn1.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.431mnrspvx1rueu6.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.477rb19v2vf6v0pz.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.47ogfj48az0plfdf.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.49fxgjvi0xseoi8j.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4cl1s8sf7iuzbntc.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4g48wd1477tfd82r.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4h24r6hrqod784ly.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4iextfrcuxhyn0he.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4iqgzyb6i393jiyo.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4m6b7q9rz61y0wkz.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4m8n3jc7zrpmzho8.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4n1pnx5moqt9c2jr.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4nphxlgj2fr5x5t0.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4o10zta91mwuysp8.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4q20ezvidt2266cb.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4rli3fway0gdxc0t.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4sqnvoamnjj80xgl.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4t6wtz630a0vwtrx.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4ufgnv9itzz7eab2.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4v51pd3gd9wlzffj.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4v9rsjl8sdni2kos.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4vr69635tqh1j38n.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4x85p134jzzyt1tf.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.4xh2q93737u6hmg0.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.51b9voxkdqihtagk.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.54eacd82kz3mz68d.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.54u6foe647vfuc5b.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.55u9cdzdxp15mpvf.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.570jclxqnh49afxs.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.57rj9e3b0l6xdul3.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.590otr5qu3nbmu1a.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.59ump3ds8qxhjb1n.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.5b4v9smpklpuk8uj.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.5bkpidhxdaqjcbi7.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.5c0r3fuctko77z5j.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.5exkg3kv2bo0618f.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.5fle8wnl0iiafylk.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.5gshjdxejq4p7c0f.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.96nrp3kii5zhrnd.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.awqwnotovh183fw.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.de8tg5nufwdlr2z.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.g0kstinxtq55u5m.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.hqwypv6gkjgo53l.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.jo0l0eawbue6bpo.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.jps0fmlqozyoxvf.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.ke1mrsyanpv7pkn.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.oyhlpzh7axda4jd.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.plmhilhdbroaoz6.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.vx804c2d4uo08b3.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.w4q1qa2773p6yhl.rcgu.o" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.xsp0icthjgumu3n.rcgu.o" "/OUT:Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.exe" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\hal_test-2fb38d64f9292a2d.56b92lc8ea8i4mp0.rcgu.o" "/OPT:REF,NOICF" "/DEBUG" "/NATVIS:C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\intrinsic.natvis" "/NATVIS:C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\liballoc.natvis" "/NATVIS:C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libcore.natvis" "/LIBPATH:Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps" "/LIBPATH:Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\build\\spirv_cross-5113d348d3438ca1\\out" "/LIBPATH:Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\build\\shaderc-2676a4f96b001a7b\\out\\lib" "/LIBPATH:C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libsimple_logger-44ebd6f28f463b79.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libchrono-7ebf0562c4bdfa23.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libnum_integer-dff69c6e91752155.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libnum_traits-c96c5fc345b18bbe.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libtime-6a6181124a2e5afc.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libshaderc-1879acdbc06a201e.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libarrayvec-4cf43a85546e52b1.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libgfx_backend_dx12-c38779d66b685859.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libwinit-53628d025845ce22.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\liblibc-e2058b49d264c6f8.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\liblazy_static-4fae7ea8350deec2.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libspirv_cross-c74be2b3866182cd.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libsmallvec-3c2531ec475fd409.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libd3d12-208d5740fa43429a.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\librange_alloc-520ce42809a188d6.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libgfx_hal-d4f7083616ad2f73.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libfxhash-fd566afbe399cc6b.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libbyteorder-5b55a54776ffee77.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libfailure-d9fa1159af39187e.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libbacktrace-ec0e974d17b87095.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\librustc_demangle-b730bcbaaa2ac08d.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libwinapi-17f679ee0e0e62b8.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libbitflags-1e51f377fbdd665f.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\liblog-4647294d3872a7d5.rlib" "Z:\\DDocuments\\Code\\Rust\\projects\\19-2\\hal_test\\target\\debug\\deps\\libcfg_if-d3e43d78decf7cdd.rlib" "C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd-8d2dec6a5a3c6056.rlib" "C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libpanic_unwind-b5b2642add198086.rlib" "C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libbacktrace_sys-2eb55f1d4e25d656.rlib" "C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libunwind-29c72569f739d68a.rlib" "C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_demangle-d94cf182827d715a.rlib" "C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liblibc-703222f8cf305fd1.rlib" "C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liballoc-395a9229f654abf9.rlib" "C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_core-d9b87c46423f1ae7.rlib" "C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcore-3fac3b2302f5f715.rlib" "C:\\Users\\boogie\\.rustup\\toolchains\\nightly-2019-01-15-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcompiler_builtins-dcddb476b25aea42.rlib" "advapi32.lib" "comctl32.lib" "credui.lib" "d3d12.lib" "d3dcompiler.lib" "dbghelp.lib" "dwmapi.lib" "dxgi.lib" "gdi32.lib" "kernel32.lib" "msimg32.lib" "ole32.lib" "opengl32.lib" "secur32.lib" "setupapi.lib" "shcore.lib" "shell32.lib" "shlwapi.lib" "synchronization.lib" "user32.lib" "uxtheme.lib" "winspool.lib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "msvcrt.lib" = note: libspirv_cross-c74be2b3866182cd.rlib(wrapper.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) libspirv_cross-c74be2b3866182cd.rlib(spirv_cross.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) libspirv_cross-c74be2b3866182cd.rlib(spirv_cross_util.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) libspirv_cross-c74be2b3866182cd.rlib(spirv_glsl.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) libspirv_cross-c74be2b3866182cd.rlib(spirv_hlsl.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) libspirv_cross-c74be2b3866182cd.rlib(spirv_msl.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) libspirv_cross-c74be2b3866182cd.rlib(spirv_cfg.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) libspirv_cross-c74be2b3866182cd.rlib(spirv_cross_parsed_ir.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) libspirv_cross-c74be2b3866182cd.rlib(spirv_parser.o) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: struct _Cvtvec __cdecl std::_Locinfo::_Getcvt(void)const " (?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: char const * __cdecl std::_Locinfo::_Getdays(void)const " (?_Getdays@_Locinfo@std@@QEBAPEBDXZ) already defined in libcpmt.lib(wlocale.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: char const * __cdecl std::_Locinfo::_Getmonths(void)const " (?_Getmonths@_Locinfo@std@@QEBAPEBDXZ) already defined in libcpmt.lib(wlocale.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: unsigned short const * __cdecl std::_Locinfo::_W_Getdays(void)const " (?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ) already defined in libcpmt.lib(wlocale.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: unsigned short const * __cdecl std::_Locinfo::_W_Getmonths(void)const " (?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ) already defined in libcpmt.lib(wlocale.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: bool __cdecl std::ios_base::good(void)const " (?good@ios_base@std@@QEBA_NXZ) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: int __cdecl std::ios_base::flags(void)const " (?flags@ios_base@std@@QEBAHXZ) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: __int64 __cdecl std::ios_base::width(void)const " (?width@ios_base@std@@QEBA_JXZ) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: __int64 __cdecl std::ios_base::width(__int64)" (?width@ios_base@std@@QEAA_J_J@Z) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void)" (??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: virtual __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void)" (??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)" (?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: __int64 __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,__int64)" (?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::eback(void)const " (?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::gptr(void)const " (?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pbase(void)const " (?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::pptr(void)const " (?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::egptr(void)const " (?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::gbump(int)" (?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::setg(char *,char *,char *)" (?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::epptr(void)const " (?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *)" (?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD0@Z) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: void __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *,char *)" (?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: char * __cdecl std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void)" (?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: virtual __cdecl std::basic_ios<char,struct std::char_traits<char> >::~basic_ios<char,struct std::char_traits<char> >(void)" (??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" (?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > * __cdecl std::basic_ios<char,struct std::char_traits<char> >::tie(void)const " (?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::basic_streambuf<char,struct std::char_traits<char> > * __cdecl std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const " (?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: char __cdecl std::basic_ios<char,struct std::char_traits<char> >::fill(void)const " (?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "protected: __cdecl std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(void)" (??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: __cdecl std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class std::basic_streambuf<char,struct std::char_traits<char> > *,bool)" (??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: virtual __cdecl std::basic_ostream<char,struct std::char_traits<char> >::~basic_ostream<char,struct std::char_traits<char> >(void)" (??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UEAA@XZ) already defined in libshaderc-1879acdbc06a201e.rlib(shaderc.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: void __cdecl std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" (?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned int)" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@I@Z) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned short)" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@G@Z) already defined in libshaderc-1879acdbc06a201e.rlib(binary.cpp.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned __int64)" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_K@Z) already defined in libshaderc-1879acdbc06a201e.rlib(binary.cpp.obj) msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(int)" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z) already defined in libshaderc-1879acdbc06a201e.rlib(compiler.cc.obj) LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library Z:\DDocuments\Code\Rust\projects\19-2\hal_test\target\debug\deps\hal_test-2fb38d64f9292a2d.exe : fatal error LNK1169: one or more multiply defined symbols found error: aborting due to previous error error: Could not compile `hal_test`. To learn more, run the command again with --verbose.
Versions:
- CMake: 3.13.4
- Python 3.7.0
- Ninja 1.9.0
It's building fine without Ninja, but I had to target somewhere else, so I tried using Ninja as described in the README.
I tried reinstalling CMake, Python, Ninja, and even Build Tools.
To be honest I'm not quite sure if this is even an issue with shaderc-rs.Update: I was using the triangle example from learn-gfx-hal when getting this error, changing it to the example given in the README works. I'll try to figure out what exactly is causing this.
File paths are way too long
The build process should attempt to use shorter paths.
When attempting to build shaderc-rs, @termhn was given the following error
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(321,5): error MSB3491: Could not write lines to file "x64\Release\spirv-tools-spv-amd-shader-explicit-vertex-parameter\spirv-to.8AECBDF2.tlog\spirv-tools-spv-amd-shader-explicit-vertex-parameter.lastbuildstate". The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. [C:\Users\Gray\Code\learn-gfx-hal\target\debug\build\shaderc-ceea3062217d891f\out\build\spirv-tools\source\spirv-tools-spv-amd-shader-explicit-vertex-parameter.vcxproj]
And then it was fixed by just moving up from
C:\Users\Gray\Code\learn-gfx-hal
toC:\dev\learn-gfx-hal
, so you're right on the limit I guess, shouldn't be too hard to cut down some of the wordy stuff.README.md: Travis badge links to currently running CI and not last master
Optionally use the temp directory on windows instead of Ninja
Could it be set up so that instead of needing ninja the build script optionally uses the windows temp directory to build the
shaderc
lib, instead of the OUT_DIR path?Unable to build
In cloning the
https://github.com/google/shaderc-rs
and runningcargo build
on both theshaderc-sys
andshaderc-rs
neither workResulting in these errors respectively:
shaderc-sys
errors:
shaderc-rs
errors:Install
(and got both VS 2017 and VS 2019 installed with their respective build tools,
Desktop development with C++
tool)(originally I was trying to compile a library which depended upon this library (vulkano) which eventually lead me to this issue.)
What am I doing wrong here?
CompileOptions::set_generate_debug_info() does not emit OpLine and opSource including the original code
GLSLang gained the ability to do this with KhronosGroup/glslang@44d2728
I need these debug instructions for a spirv debugger I'm currently creating.
It would be nice if shaderc-rs generated these OpCodes... not sure if shaderc itself supports this already, but the foundation has been laid in GLSLang (pass -g)Fails to build on arch linux due to SPIRV_WERROR=ON
Fails to build on arch linux.
Setting SPIRV_WERROR=OFF fixes the issue.
I'm guessing this hasn't affected others because arch has a more recent compiler? (GCC 8.2.0-2)Strangely I cant reproduce the issue when building the latest known good shaderc. I tried using the commits in the shaderc-rs submodules with just shaderc but that succeeded as well.
I think it would make sense to set SPIRV_WERROR=OFF in the build.rs file as the compiler adding new warnings shouldn't break compilation. I'm guessing C++ compilers can just add warnings whenever they want?
--- stderr /home/rubic/Projects/Crates/shaderc-rs/build/spirv-tools/utils/update_build_version.py:91: DeprecationWarning: 'U' mode is deprecated with open(changes_file, mode='rU') as f: /home/rubic/Projects/Crates/shaderc-rs/build/spirv-tools/utils/update_build_version.py:91: DeprecationWarning: 'U' mode is deprecated with open(changes_file, mode='rU') as f: /home/rubic/Projects/Crates/shaderc-rs/build/spirv-tools/source/text_handler.cpp: In member function ‘spv_result_t spvtools::AssemblyContext::binaryEncodeString(const char*, spv_instruction_t*)’: /home/rubic/Projects/Crates/shaderc-rs/build/spirv-tools/source/text_handler.cpp:316:10: error: ‘char* strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation] strncpy(dest, value, length); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /home/rubic/Projects/Crates/shaderc-rs/build/spirv-tools/source/text_handler.cpp:298:31: note: length computed here const size_t length = strlen(value); ~~~~~~^~~~~~~ At global scope: cc1plus: error: unrecognized command line option ‘-Wno-self-assign’ [-Werror] cc1plus: all warnings being treated as errors make[2]: *** [spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/build.make:484: spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/text_handler.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/Makefile2:375: spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... /home/rubic/Projects/Crates/shaderc-rs/build/spirv-tools/source/text_handler.cpp: In member function ‘spv_result_t spvtools::AssemblyContext::binaryEncodeString(const char*, spv_instruction_t*)’: /home/rubic/Projects/Crates/shaderc-rs/build/spirv-tools/source/text_handler.cpp:316:10: error: ‘char* strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation] strncpy(dest, value, length); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /home/rubic/Projects/Crates/shaderc-rs/build/spirv-tools/source/text_handler.cpp:298:31: note: length computed here const size_t length = strlen(value); ~~~~~~^~~~~~~ At global scope: cc1plus: error: unrecognized command line option ‘-Wno-self-assign’ [-Werror] cc1plus: all warnings being treated as errors make[2]: *** [spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/build.make:484: spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/Makefile2:636: spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/all] Error 2 make: *** [Makefile:130: all] Error 2 thread 'main' panicked at ' command did not execute successfully, got: exit code: 2 build script failed, must exit now', /home/rubic/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.33/src/lib.rs:773:5 stack backtrace: 0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49 1: std::sys_common::backtrace::print at libstd/sys_common/backtrace.rs:71 at libstd/sys_common/backtrace.rs:59 2: std::panicking::default_hook::{{closure}} at libstd/panicking.rs:211 3: std::panicking::default_hook at libstd/panicking.rs:227 4: std::panicking::rust_panic_with_hook at libstd/panicking.rs:463 5: std::panicking::begin_panic_fmt at libstd/panicking.rs:350 6: cmake::fail at /home/rubic/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.33/src/lib.rs:773 7: cmake::run at /home/rubic/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.33/src/lib.rs:754 8: cmake::Config::build at /home/rubic/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.33/src/lib.rs:666 9: build_script_build::build_shaderc at build/build.rs:21 10: build_script_build::main at build/build.rs:62 11: std::rt::lang_start::{{closure}} at /checkout/src/libstd/rt.rs:74 12: std::panicking::try::do_call at libstd/rt.rs:59 at libstd/panicking.rs:310 13: __rust_maybe_catch_panic at libpanic_unwind/lib.rs:105 14: std::rt::lang_start_internal at libstd/panicking.rs:289 at libstd/panic.rs:374 at libstd/rt.rs:58 15: std::rt::lang_start at /checkout/src/libstd/rt.rs:74 16: main 17: __libc_start_main 18: _start
support auto map locations
The corresponding sharderc function is:
shaderc_compile_options_set_auto_map_locations
.This allows glsl shaders to omit location information on
in
andout
variables.Hopefully it's relatively trivial to add support for it.
Build Fails to Find Correct Python Version on Windows 10
I have just freshly installed Python versions 3.8.3 and 2.7.14 on Windows 10 using the 64-bit installers from the website. Python 3 is currently on my path, though Python 2 is not. Calling both
python
andpy
with the--version
argument both return 3.8.3. As well, I have verified that Ninja and CMake can both be properly called from the command line.When I attempt to build this crate, I get this error:
Compiling shaderc-sys v0.6.2 error: failed to run custom build command for `shaderc-sys v0.6.2` Caused by: process didn't exit successfully: `C:\Users\[username]\Rust Projects\vulkan-tutorial\target\debug\build\shaderc-sys-94432a1a0a3e5bc1\build-script-build` (exit code: 101) --- stdout cargo:warning=System installed library not found. Falling back to build from source running: "cmake" "C:\\Users\\[username]\\.cargo\\registry\\src\\github.com-1ecc6299db9ec823\\shaderc-sys-0.6.2\\build" "-G" "Ninja" "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" "-DSPIRV_SKIP_EXECUTABLES=ON" "-DSPIRV_WERROR=OFF" "-DSHADERC_SKIP_TESTS=ON" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_C_FLAGS= /nologo /EHsc /MD" "-DCMAKE_CXX_FLAGS= /nologo /EHsc /MD" "-DCMAKE_C_FLAGS_RELEASE= /nologo /EHsc /MD" "-DCMAKE_CXX_FLAGS_RELEASE= /nologo /EHsc /MD" "-DSHADERC_ENABLE_SHARED_CRT=ON" "-DCMAKE_INSTALL_PREFIX=C:\\Users\\[username]\\Rust Projects\\vulkan-tutorial\\target\\debug\\build\\shaderc-sys-7a01563382570d55\\out" "-DCMAKE_C_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.21.27702/bin/HostX64/x64/cl.exe" "-DCMAKE_CXX_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.21.27702/bin/HostX64/x64/cl.exe" "-DCMAKE_ASM_FLAGS= -nologo -MD -Brepro" "-DCMAKE_ASM_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.21.27702/bin/HostX64/x64/cl.exe" "-DCMAKE_BUILD_TYPE=Release" -- Building SPIRV-Header examples -- Installing SPIRV-Header -- Configuring incomplete, errors occurred! See also "C:/Users/[username]/Rust Projects/vulkan-tutorial/target/debug/build/shaderc-sys-7a01563382570d55/out/build/CMakeFiles/CMakeOutput.log". See also "C:/Users/[username]/Rust Projects/vulkan-tutorial/target/debug/build/shaderc-sys-7a01563382570d55/out/build/CMakeFiles/CMakeError.log". --- stderr CMake Warning (dev) at CMakeLists.txt:8 (project): Policy CMP0048 is not set: project() command manages VERSION variables. Run "cmake --help-policy CMP0048" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The following variable(s) would be set to empty: CMAKE_PROJECT_VERSION CMAKE_PROJECT_VERSION_MAJOR CMAKE_PROJECT_VERSION_MINOR CMAKE_PROJECT_VERSION_PATCH This warning is for project developers. Use -Wno-dev to suppress it. CMake Error at C:/Program Files/CMake/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find PythonInterp: Found unsuitable version "2.7.13", but required is at least "3" (found C:/Python27/python.exe) Call Stack (most recent call first): C:/Program Files/CMake/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:376 (_FPHSA_FAILURE_MESSAGE) C:/Program Files/CMake/share/cmake-3.15/Modules/FindPythonInterp.cmake:160 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) spirv-tools/CMakeLists.txt:181 (find_package) spirv-tools/CMakeLists.txt:191 (find_host_package) thread 'main' panicked at ' command did not execute successfully, got: exit code: 1 build script failed, must exit now', C:\Users\[username]\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.43\src\lib.rs:1104:5 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
I decided to try renaming my Python 2 directory, as it seems that the script stops searching when it encounters Python 2. Doing so gets me this error instead. It appears that there is still a dependency on Python 2, so this output is perhaps not the most useful. I'll include it here regardless, in case it's of any interest.
Compiling shaderc-sys v0.6.2 error: failed to run custom build command for `shaderc-sys v0.6.2` Caused by: process didn't exit successfully: `C:\Users\[username]\Rust Projects\vulkan-tutorial\target\debug\build\shaderc-sys-94432a1a0a3e5bc1\build-script-build` (exit code: 101) --- stdout cargo:warning=System installed library not found. Falling back to build from source running: "cmake" "C:\\Users\\[username]\\.cargo\\registry\\src\\github.com-1ecc6299db9ec823\\shaderc-sys-0.6.2\\build" "-G" "Ninja" "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" "-DSPIRV_SKIP_EXECUTABLES=ON" "-DSPIRV_WERROR=OFF" "-DSHADERC_SKIP_TESTS=ON" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_C_FLAGS= /nologo /EHsc /MD" "-DCMAKE_CXX_FLAGS= /nologo /EHsc /MD" "-DCMAKE_C_FLAGS_RELEASE= /nologo /EHsc /MD" "-DCMAKE_CXX_FLAGS_RELEASE= /nologo /EHsc /MD" "-DSHADERC_ENABLE_SHARED_CRT=ON" "-DCMAKE_INSTALL_PREFIX=C:\\Users\\[username]\\Rust Projects\\vulkan-tutorial\\target\\debug\\build\\shaderc-sys-7a01563382570d55\\out" "-DCMAKE_C_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.21.27702/bin/HostX64/x64/cl.exe" "-DCMAKE_CXX_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.21.27702/bin/HostX64/x64/cl.exe" "-DCMAKE_ASM_FLAGS= -nologo -MD -Brepro" "-DCMAKE_ASM_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.21.27702/bin/HostX64/x64/cl.exe" "-DCMAKE_BUILD_TYPE=Release" -- Building SPIRV-Header examples -- Installing SPIRV-Header -- Using Release VC++ CRT: MD -- Google Mock was not found - tests based on that will not build -- optimizer enabled -- Shaderc: build type is "Release". -- Configuring Shaderc to avoid building tests. -- asciidoctor was not found - no documentation will be generated -- Configuring done -- Generating done -- Build files have been written to: C:/Users/[username]/Rust Projects/vulkan-tutorial/target/debug/build/shaderc-sys-7a01563382570d55/out/build running: "cmake" "--build" "." "--target" "install" "--config" "Release" "--" "-j4" [1/359] Generate extended instruction tables for opencl.debuginfo.100. FAILED: spirv-tools/opencl.debuginfo.100.insts.inc cmd.exe /C "cd /D "C:\Users\[username]\Rust Projects\vulkan-tutorial\target\debug\build\shaderc-sys-7a01563382570d55\out\build\spirv-tools\source" && C:\Python27\python.exe C:/Users/[username]/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build/spirv-tools/utils/generate_grammar_tables.py --extinst-vendor-grammar=C:/Users/[username]/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build/spirv-tools/source/extinst.opencl.debuginfo.100.grammar.json "--vendor-insts-output=C:/Users/[username]/Rust Projects/vulkan-tutorial/target/debug/build/shaderc-sys-7a01563382570d55/out/build/spirv-tools/opencl.debuginfo.100.insts.inc" --vendor-operand-kind-prefix=CLDEBUG100_" The system cannot find the path specified. [2/359] Generate extended instruction tables for spv-amd-shader-explicit-vertex-parameter. FAILED: spirv-tools/spv-amd-shader-explicit-vertex-parameter.insts.inc cmd.exe /C "cd /D "C:\Users\[username]\Rust Projects\vulkan-tutorial\target\debug\build\shaderc-sys-7a01563382570d55\out\build\spirv-tools\source" && C:\Python27\python.exe C:/Users/[username]/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build/spirv-tools/utils/generate_grammar_tables.py --extinst-vendor-grammar=C:/Users/[username]/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build/spirv-tools/source/extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json "--vendor-insts-output=C:/Users/[username]/Rust Projects/vulkan-tutorial/target/debug/build/shaderc-sys-7a01563382570d55/out/build/spirv-tools/spv-amd-shader-explicit-vertex-parameter.insts.inc" --vendor-operand-kind-prefix=" The system cannot find the path specified. [3/359] Generate extended instruction tables for spv-amd-gcn-shader. FAILED: spirv-tools/spv-amd-gcn-shader.insts.inc cmd.exe /C "cd /D "C:\Users\[username]\Rust Projects\vulkan-tutorial\target\debug\build\shaderc-sys-7a01563382570d55\out\build\spirv-tools\source" && C:\Python27\python.exe C:/Users/[username]/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build/spirv-tools/utils/generate_grammar_tables.py --extinst-vendor-grammar=C:/Users/[username]/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build/spirv-tools/source/extinst.spv-amd-gcn-shader.grammar.json "--vendor-insts-output=C:/Users/[username]/Rust Projects/vulkan-tutorial/target/debug/build/shaderc-sys-7a01563382570d55/out/build/spirv-tools/spv-amd-gcn-shader.insts.inc" --vendor-operand-kind-prefix=" The system cannot find the path specified. [4/359] Generate extended instruction tables for debuginfo. FAILED: spirv-tools/debuginfo.insts.inc cmd.exe /C "cd /D "C:\Users\[username]\Rust Projects\vulkan-tutorial\target\debug\build\shaderc-sys-7a01563382570d55\out\build\spirv-tools\source" && C:\Python27\python.exe C:/Users/[username]/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build/spirv-tools/utils/generate_grammar_tables.py --extinst-vendor-grammar=C:/Users/[username]/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-sys-0.6.2/build/spirv-tools/source/extinst.debuginfo.grammar.json "--vendor-insts-output=C:/Users/[username]/Rust Projects/vulkan-tutorial/target/debug/build/shaderc-sys-7a01563382570d55/out/build/spirv-tools/debuginfo.insts.inc" --vendor-operand-kind-prefix=" The system cannot find the path specified. ninja: build stopped: subcommand failed. --- stderr CMake Warning (dev) at CMakeLists.txt:8 (project): Policy CMP0048 is not set: project() command manages VERSION variables. Run "cmake --help-policy CMP0048" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The following variable(s) would be set to empty: CMAKE_PROJECT_VERSION CMAKE_PROJECT_VERSION_MAJOR CMAKE_PROJECT_VERSION_MINOR CMAKE_PROJECT_VERSION_PATCH This warning is for project developers. Use -Wno-dev to suppress it. thread 'main' panicked at ' command did not execute successfully, got: exit code: 1 build script failed, must exit now', C:\Users\[username]\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.43\src\lib.rs:1104:5 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
It would seem that Python 2 is a dependency. Is there anything I can do to make sure that the build finds the versions it needs at the right time?
Fails to build in a directory that has a parent directory with spaces in the name
Initially reported here: https://www.reddit.com/r/rust/comments/9ye5s8/vulkano_fails_to_compile_after_implementing/
Doing
cargo run --release
in the directory/home/rubic/dir with space oh no/shaderc-rs
Results in this compile error.97%] Building CXX object shaderc/glslc/CMakeFiles/glslc.dir/src/dependency_info.cc.o [ 97%] Built target shaderc_shared [ 98%] Linking CXX executable shaderc-online-compile [ 98%] Built target shaderc-online-compile [ 98%] Linking CXX static library libglslc.a [ 98%] Built target glslc --- stderr usr/bin/ar: /home/rubic/dir: No such file or directory make[2]: *** [shaderc/libshaderc/CMakeFiles/shaderc_combined_genfile.dir/build.make:69: shaderc/libshaderc/libshaderc_combined.a] Error 9 make[1]: *** [CMakeFiles/Makefile2:2984: shaderc/libshaderc/CMakeFiles/shaderc_combined_genfile.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:130: all] Error 2 thread 'main' panicked at ' command did not execute successfully, got: exit code: 2 build script failed, must exit now', /home/rubic/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.33/src/lib.rs:773:5 stack backtrace: 6: std::panicking::begin_panic_fmt at libstd/panicking.rs:346 7: cmake::fail 8: cmake::run 9: cmake::Config::build 10: build_script_build::main
This is the important line:
usr/bin/ar: /home/rubic/dir: No such file or directory
The path given to ar should be escaped.Release a 0.6.3 version ?
Hi,
Would you mind releasing a 0.6.3 ?
If pushing a PR is enough then I can do it... Let me know.
Undocumented python3-distutils dependency
Failed to build on Mint until:
sudo apt-get install python3-distutils
Support dynamically linked glslang
The build script currently assumes that libSPIRV from glslang is always available in a static version (
libSPIRV.a
). However, this is not true on my system, I only havelibSPIRV.so
and mylibshaderc_combined.a
relies on symbols from that.so
.Would it be possible to add a check for
libSPIRV.so
to the build-script so that the crate compiles correctly on my system?Support vcpkg preinstalled libs for msvc target
Hi, it'll be nice for msvc targets to be able to pick up the dependencies from
vcpkg
installedshaderc
package.[Windows] Linking with pre-built dynamic library fails
When setting
SHADERC_LIB_DIR
to/path/to/shaderc/bin
(implying that I want dynamic linkage), linker issues following error:error: linking with `link.exe` failed: exit code: 1181 | = note: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX64\x64\link.exe" "/NOLOGO" "/NXCOMPAT" "/LIBPATH:C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "E:\Projects\testsc\target\debug\deps\testsc.21j59gef162pi5qu.rcgu.o" "E:\Projects\testsc\target\debug\deps\testsc.285crb9lg1fijir5.rcgu.o" "E:\Projects\testsc\target\debug\deps\testsc.2zf9ru0rpvf1kqbm.rcgu.o" "E:\Projects\testsc\target\debug\deps\testsc.3v2sq2q0w83icjjk.rcgu.o" "E:\Projects\testsc\target\debug\deps\testsc.5ev3mu7wd8chgvpi.rcgu.o" "E:\Projects\testsc\target\debug\deps\testsc.5gqn7i2z86y3kd4w.rcgu.o" "/OUT:E:\Projects\testsc\target\debug\deps\testsc.exe" "E:\Projects\testsc\target\debug\deps\testsc.2yqu992c926i7c10.rcgu.o" "/OPT:REF,NOICF" "/DEBUG" "/NATVIS:C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\intrinsic.natvis" "/NATVIS:C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\liballoc.natvis" "/NATVIS:C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\libcore.natvis" "/NATVIS:C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\libstd.natvis" "/LIBPATH:E:\Projects\testsc\target\debug\deps" "/LIBPATH:C:\ProgramData\shaderc\bin" "/LIBPATH:C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib" "E:\Projects\testsc\target\debug\deps\libshaderc-98dc482ba5d8e7e3.rlib" "E:\Projects\testsc\target\debug\deps\libshaderc_sys-f3fc139ef83e0397.rlib" "E:\Projects\testsc\target\debug\deps\liblibc-41107e176498dbd5.rlib" "C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libstd-d2cb2280bcd44383.rlib" "C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libpanic_unwind-140520697b0936d7.rlib" "C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libhashbrown-a3e1790633df522a.rlib" "C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_alloc-2f29aa3beddef483.rlib" "C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libbacktrace-963dd21d9104800a.rlib" "C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_demangle-ac2d16dbeba7d44c.rlib" "C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libunwind-bab8a0038eeffc7d.rlib" "C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcfg_if-0a2aca5d715fa450.rlib" "C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liblibc-04cd9a6d769db645.rlib" "C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\liballoc-69018e88568c263f.rlib" "C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\librustc_std_workspace_core-f33a85683612f403.rlib" "C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcore-a5f276186a1cbe1e.rlib" "C:\Users\junchen.zhou\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\x86_64-pc-windows-msvc\lib\libcompiler_builtins-7c234882c060b305.rlib" "shaderc_shared.lib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "msvcrt.lib" = note: Non-UTF-8 output: LINK : fatal error LNK1181: 无法打开输入文件“shaderc_shared.lib” (Can't open file shaderc_shared.lib)
But if I copy
/path/to/shaderc/lib/shaderc_shared.lib
to/path/to/shaderc/bin/shaderc_shared.lib
, the linking process succeeds.Step by step setup documentation.
In order to use library with vulkano I need step by step instructions for setting up the build environment in the vulkano readme. It would make sense to also include these instructions in the shaderc-rs readme.
For ubuntu this is easy:
sudo apt-get install git python cmake
People using other distros can fairly easily adapt this to their own package manager.I have no access to macOS so I have no idea about this one. I hear brew is popular over there?
For windows I need both msvc and gnu toolchains to work, I'm not sure if they require different tools, however I can only get msvc to work.
I setup the dependencies via msys2. I ran:
pacman -Syu mingw-w64-x86_64-cmake mingw-w64-x86_64-make mingw-w64-x86_64-gcc mingw64/mingw-w64-x86_64-pkg-config
and haveC:\msys64\mingw64\bin;C:\msys64\usr\bin
added to my pathAt this point I can set the toolchain to msvc and
cargo build
+cargo test
successfullyHowever I tried to compile with the gnu toolchain using the terminal window packaged with git and I get the following error with the boilerplate stripped out:
$ cargo build --- stderr CMake Error at C:/msys64/mingw64/share/cmake-3.12/Modules/CMakeMinGWFindMake.cmake:12 (message): sh.exe was found in your PATH, here: C:/Program Files/Git/usr/bin/sh.exe For MinGW make to work correctly sh.exe must NOT be in your path. Run cmake from a shell that does not have sh.exe in your PATH. If you want to use a UNIX shell, then use MSYS Makefiles. Call Stack (most recent call first): CMakeLists.txt:8 (project) CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage thread 'main' panicked at ' command did not execute successfully, got: exit code: 1 at C:\Users\Rukai\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.33\src/lib.rs:773 7: cmake::run at C:\Users\Rukai\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.33\src/lib.rs:754 8: cmake::Config::build at C:\Users\Rukai\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.33\src/lib.rs:606 9: build_script_build::build_shaderc at build/build.rs:21 10: build_script_build::main at build/build.rs:6
Alright, so I try with powershell and
cargo build
succeeds but then I runcargo test
and get so many of these errors that the powershell scrollback is full of them:C:\Users\Rukai\Desktop\Crates\shaderc-rs\target\debug\build\shaderc-76ef6e510d12bc1e\out\lib\libshaderc_combined.a(validate_instruction.cpp.obj):validate_instruction.cpp:(.text$_ZNSt6vectorIN8spvtools3val10DecorationESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_[_ZNSt6vectorIN8spvtools3val10DecorationESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_]+0x21b): undefined reference to `operator delete(void*)' C:\Users\Rukai\Desktop\Crates\shaderc-rs\target\debug\build\shaderc-76ef6e510d12bc1e\out\lib\libshaderc_combined.a(validate_instruction.cpp.obj):validate_instruction.cpp:(.text$_ZNSt6vectorIN8spvtools3val10DecorationESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_[_ZNSt6vectorIN8spvtools3val10DecorationESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_]+0x231): undefined reference to `operator delete(void*)' C:\Users\Rukai\Desktop\Crates\shaderc-rs\target\debug\build\shaderc-76ef6e510d12bc1e\out\lib\libshaderc_combined.a(validate_instruction.cpp.obj):validate_instruction.cpp:(.text$_ZNSt6vectorIN8spvtools3val10DecorationESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_[_ZNSt6vectorIN8spvtools3val10DecorationESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_]+0x2c9): undefined reference to `std::__throw_bad_alloc()' C:\Users\Rukai\Desktop\Crates\shaderc-rs\target\debug\build\shaderc-76ef6e510d12bc1e\out\lib\libshaderc_combined.a(validate_instruction.cpp.obj):validate_instruction.cpp:(.text$_ZNSt10_HashtableIjSt4pairIKjSt3setI17SpvExecutionMode_St4lessIS3_ESaIS3_EEESaIS8_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_insert_unique_nodeEyyPNSA_10_Hash_nodeIS8_Lb0EEEy[_ZNSt10_HashtableIjSt4pairIKjSt3setI17SpvExecutionMode_St4lessIS3_ESaIS3_EEESaIS8_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_insert_unique_nodeEyyPNSA_10_Hash_nodeIS8_Lb0EEEy]+0x37): undefined reference to `std::__detail::_Prime_rehash_policy::_M_need_rehash(unsigned long long, unsigned long long, unsigned long long) const' C:\Users\Rukai\Desktop\Crates\shaderc-rs\target\debug\build\shaderc-76ef6e510d12bc1e\out\lib\libshaderc_combined.a(validate_instruction.cpp.obj):validate_instruction.cpp:(.text$_ZNSt10_HashtableIjSt4pairIKjSt3setI17SpvExecutionMode_St4lessIS3_ESaIS3_EEESaIS8_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_insert_unique_nodeEyyPNSA_10_Hash_nodeIS8_Lb0EEEy[_ZNSt10_HashtableIjSt4pairIKjSt3setI17SpvExecutionMode_St4lessIS3_ESaIS3_EEESaIS8_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_insert_unique_nodeEyyPNSA_10_Hash_nodeIS8_Lb0EEEy]+0xa9): undefined reference to `operator new(unsigned long long)' C:\Users\Rukai\Desktop\Crates\shaderc-rs\target\debug\build\shaderc-76ef6e510d12bc1e\out\lib\libshaderc_combined.a(validate_instruction.cpp.obj):validate_instruction.cpp:(.text$_ZNSt10_HashtableIjSt4pairIKjSt3setI17SpvExecutionMode_St4lessIS3_ESaIS3_EEESaIS8_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_insert_unique_nodeEyyPNSA_10_Hash_nodeIS8_Lb0EEEy[_ZNSt10_HashtableIjSt4pairIKjSt3setI17SpvExecutionMode_St4lessIS3_ESaIS3_EEESaIS8_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_insert_unique_nodeEyyPNSA_10_Hash_nodeIS8_Lb0EEEy]+0x139): undefined reference to `operator delete(void*)' C:\Users\Rukai\Desktop\Crates\shaderc-rs\target\debug\build\shaderc-76ef6e510d12bc1e\out\lib\libshaderc_combined.a(validate_instruction.cpp.obj):validate_instruction.cpp:(.text$_ZNSt10_HashtableIjSt4pairIKjSt3setI17SpvExecutionMode_St4lessIS3_ESaIS3_EEESaIS8_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_insert_unique_nodeEyyPNSA_10_Hash_nodeIS8_Lb0EEEy[_ZNSt10_HashtableIjSt4pairIKjSt3setI17SpvExecutionMode_St4lessIS3_ESaIS3_EEESaIS8_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_insert_unique_nodeEyyPNSA_10_Hash_nodeIS8_Lb0EEEy]+0x1b5): undefined reference to `std::__throw_bad_alloc()'
Any idea what I need to do to build with the windows-gnu toolchain?
Failed to build on Windows (exit code: 101)
shaderc fails to build on windows
latest version, rust version 1.33.0, cargo version 1.33.0
all the pre-requisites to build are in the system
I couldn't deduce anything useful from the stderr output. If someone can, that'd be great.this is the entire error output:
Compiling
shaderc v0.3.16
error: failed to run custom build command forshaderc v0.3.16
process didn't exit successfully:C:\Users\guilh\github\KitsuneEngine2\target\debug\build\shaderc-7c36252434f41bda\build-script-build
(exit code: 101)
--- stdout
running: "cmake" "C:\Users\guilh\.cargo\registry\src\github.com-1ecc6299db9ec823\shaderc-0.3.16\build" "-G" "Visual Studio 15 2017 Win64" "-Thost=x64" "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" "-DSPIRV_SKIP_EXECUTABLES=ON" "-DSPIRV_WERROR=OFF" "-DSHADERC_SKIP_TESTS=ON" "-DCMAKE_C_FLAGS= /nologo /EHsc" "-DCMAKE_CXX_FLAGS= /nologo /EHsc" "-DCMAKE_C_FLAGS_RELEASE= /nologo /EHsc" "-DCMAKE_CXX_FLAGS_RELEASE= /nologo /EHsc" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_INSTALL_PREFIX=C:\Users\guilh\github\KitsuneEngine2\target\debug\build\shaderc-a487fde340fded54\out" "-DCMAKE_BUILD_TYPE=Release"
-- Building SPIRV-Header examples
-- SPIRV-Tools: nosetests was not found - python support code will not be tested
-- Using Debug VC++ CRT: MDd
-- Using MinSizeRel VC++ CRT: MD
-- Using RelWithDebInfo VC++ CRT: MD
-- Google Mock was not found - tests based on that will not build
-- optimizer enabled
-- Shaderc: build type is "Release".
-- Configuring Shaderc to avoid building tests.
-- nosetests was not found - python code will not be tested
-- asciidoctor was not found - no documentation will be generated
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/guilh/github/KitsuneEngine2/target/debug/build/shaderc-a487fde340fded54/out/build
running: "cmake" "--build" "." "--target" "install" "--config" "Release" "--"
Microsoft (R) Build Engine version 15.7.180.61344 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.HLSL.vcxproj -> C:\Users\guilh\github\KitsuneEngine2\target\debug\build\shaderc-a487fde340fded54\out\build\glslang\hlsl\Release\HLSL.lib
OGLCompiler.vcxproj -> C:\Users\guilh\github\KitsuneEngine2\target\debug\build\shaderc-a487fde340fded54\out\build\glslang\OGLCompilersDLL\Release\OGLCompiler.lib
OSDependent.vcxproj -> C:\Users\guilh\github\KitsuneEngine2\target\debug\build\shaderc-a487fde340fded54\out\build\glslang\glslang\OSDependent\Windows\Release\OSDependent.lib
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(321,5): error MSB3491: Could not write lines to file "x64\Release\spirv-tools-spv-amd-shader-explicit-vertex-parameter\spirv-to.2E826A11.tlog\spirv-tools-spv-amd-shader-explicit-vertex-parameter.lastbuildstate". The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. [C:\Users\guilh\github\KitsuneEngine2\target\debug\build\shaderc-a487fde340fded54\out\build\spirv-tools\source\spirv-tools-spv-amd-shader-explicit-vertex-parameter.vcxproj]
glslang.vcxproj -> C:\Users\guilh\github\KitsuneEngine2\target\debug\build\shaderc-a487fde340fded54\out\build\glslang\glslang\Release\glslang.lib
SPIRV-Headers-example.vcxproj -> C:\Users\guilh\github\KitsuneEngine2\target\debug\build\shaderc-a487fde340fded54\out\build\spirv-headers\example\Release\SPIRV-Headers-example.lib
SPIRV-Headers-example-1.1.vcxproj -> C:\Users\guilh\github\KitsuneEngine2\target\debug\build\shaderc-a487fde340fded54\out\build\spirv-headers\example\Release\SPIRV-Headers-example-1.1.lib
SPVRemapper.vcxproj -> C:\Users\guilh\github\KitsuneEngine2\target\debug\build\shaderc-a487fde340fded54\out\build\glslang\SPIRV\Release\SPVRemapper.lib
Check copyright
glslang-default-resource-limits.vcxproj -> C:\Users\guilh\github\KitsuneEngine2\target\debug\build\shaderc-a487fde340fded54\out\build\glslang\StandAlone\Release\glslang-default-resource-limits.lib
Update build-version.inc in the Shaderc build directory (if necessary).--- stderr
thread 'main' panicked at '
command did not execute successfully, got: exit code: 1build script failed, must exit now', C:\Users\guilh.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.35\src\lib.rs:778:5
note: Run withRUST_BACKTRACE=1
environment variable to display a backtrace.`mingw-w64-x86_64-ninja compiler errors for MSVC rust cargo build
I downloaded ninja from https://ninja-build.org/ and pasted in my msys2 folder and all errors went away. Might want to specify a version on your documentation and or inform to upgrade to newest version. I am compiling with CARGO and rust.
Errors are not obvious to what true error is. As far as I can tell incorrect information in Ninja for MSVC current build tools in the Msys2 download version. I am sure the guys on the google team know a lot more than I do about the Error. I installed my development environment this week.
Hopefully will help others.
Thank you Shaderc-rs team!
Caused by:
process didn't exit successfully:C:\Users\lavon\code\vulkano-examples\target\release\build\shaderc-sys-7d48b3aeb5eca3f7\build-script-build
(exit code: 101)
--- stdout
cargo:warning=System installed library not found. Falling back to build from source
running: "cmake" "C:\Users\lavon\.cargo\registry\src\github.com-1ecc6299db9ec823\shaderc-sys-0.6.3\build" "-G" "Ninja" "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" "-DSPIRV_SKIP_EXECUTABLES=ON" "-DSPIRV_WERROR=OFF" "-DSHADERC_SKIP_TESTS=ON" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_C_FLAGS= /nologo /EHsc /MD" "-DCMAKE_CXX_FLAGS= /nologo /EHsc /MD" "-DCMAKE_C_FLAGS_RELEASE= /nologo /EHsc /MD" "-DCMAKE_CXX_FLAGS_RELEASE= /nologo /EHsc /MD" "-DSHADERC_ENABLE_SHARED_CRT=ON" "-DCMAKE_INSTALL_PREFIX=C:\Users\lavon\code\vulkano-examples\target\release\build\shaderc-sys-415cfd89d3cf34a1\out" "-DCMAKE_C_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe" "-DCMAKE_CXX_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe" "-DCMAKE_BUILD_TYPE=Release"
-- The C compiler identification is MSVC 19.28.29334.0
-- The CXX compiler identification is MSVC 19.28.29334.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe - broken
-- Configuring incomplete, errors occurred!
See also "C:/Users/lavon/code/vulkano-examples/target/release/build/shaderc-sys-415cfd89d3cf34a1/out/build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/lavon/code/vulkano-examples/target/release/build/shaderc-sys-415cfd89d3cf34a1/out/build/CMakeFiles/CMakeError.log".--- stderr
CMake Error at C:/Program Files/CMake/share/cmake-3.19/Modules/CMakeTestCCompiler.cmake:66 (message):
The C compiler"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe" is not able to compile a simple test program. It fails with the following output: Change Dir: C:/Users/lavon/code/vulkano-examples/target/release/build/shaderc-sys-415cfd89d3cf34a1/out/build/CMakeFiles/CMakeTmp Run Build Command(s):C:/msys64/usr/bin/ninja.exe cmTC_73947 && [1/2] Building C object 'CMakeFiles\cmTC_73947.dir\testCCompiler.c.obj' FAILED: CMakeFiles\cmTC_73947.dir\testCCompiler.c.obj C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1428~1.293\bin\HostX64\x64\cl.exe /nologo /nologo /EHsc /MD /MDd /Zi /Ob0 /Od /RTC1 /showIncludes /Fo'CMakeFiles\cmTC_73947.dir\testCCompiler.c.obj' /FdCMakeFiles\cmTC_73947.dir\ /FS -c testCCompiler.c /bin/sh: C:PROGRA~2MICROS~12019COMMUN~1VCToolsMSVC1428~1.293binHostX64x64cl.exe: command not found ninja: build stopped: subcommand failed.
Error when compiling v0.3.6
Hello @antiagainst,
I tried to install your module (0.3.6) with the nightly rust and I got this error:
Updating registry `https://github.com/rust-lang/crates.io-index` Downloading shaderc v0.3.6 Downloading cmake v0.1.31 Compiling cc v1.0.15 Compiling libc v0.2.40 Compiling rand v0.4.2 Compiling cmake v0.1.31 Compiling shaderc v0.3.6 Compiling test1 v0.1.0 (file:///home/realitix/git/rust_practice/test1) error[E0623]: lifetime mismatch --> src/main.rs:3:9 | 1 | fn longest<'a,'b>(x: &'a str, y: &'b str) -> &'b str { | ------- ------- | | | this parameter and the return type are declared with different lifetimes... 2 | if x.len() > y.len() { 3 | x | ^ ...but data from `x` is returned here error: aborting due to previous error For more information about this error, try `rustc --explain E0623`. error: Could not compile `test1`. To learn more, run the command again with --verbose.
Do you know why I get this error ?
Publish new release?
Been 7 months since the last release to crates.io, possible to publish a new one?
Specifically after getting a release with the merged PR #68 that we did.
Thanks!
Fail to support Python3.7.3 in WSL-Debian
error: failed to run custom build command for `shaderc-sys v0.5.0` Caused by: process didn't exit successfully: `/mnt/f/workspace/rust-tutorials/vulkano-examples-master/target/debug/build/shaderc-sys-1e4f0c0c70caddbf/build-script-build` (exit code: 101) --- stdout cargo:warning=Checking for system installed libraries. Use --features = build-from-source to disable this behavior cargo:warning=Pre-built library not found. Falling back to from-source build running: "cmake" "/mnt/e/Coding/wsl/Rust/cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/shaderc-sys-0.5.0/build" "-G" "Ninja" "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" "-DSPIRV_SKIP_EXECUTABLES=ON" "-DSPIRV_WERROR=OFF" "-DSHADERC_SKIP_TESTS=ON" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_INSTALL_PREFIX=/mnt/f/workspace/rust-tutorials/vulkano-examples-master/target/debug/build/shaderc-sys-814e1b3412b48db9/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_BUILD_TYPE=Release" -- Building SPIRV-Header examples -- SPIRV-Tools: nosetests was not found - python support code will not be tested -- Google Mock was not found - tests based on that will not build -- optimizer enabled -- Shaderc: build type is "Release". -- Configuring Shaderc to avoid building tests. -- nosetests was not found - python code will not be tested -- asciidoctor was not found - no documentation will be generated -- Configuring done -- Generating done -- Build files have been written to: /mnt/f/workspace/rust-tutorials/vulkano-examples-master/target/debug/build/shaderc-sys-814e1b3412b48db9/out/build running: "cmake" "--build" "." "--target" "install" "--config" "Release" "--" "-j8" [1/341] Generate tables based on the SPIR-V XML registry. FAILED: spirv-tools/generators.inc cd /mnt/f/workspace/rust-tutorials/vulkano-examples-master/target/debug/build/shaderc-sys-814e1b3412b48db9/out/build/spirv-tools/source && /usr/bin/python3.7 /mnt/e/Coding/wsl/Rust/cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/shaderc-sys-0.5.0/build/spirv-tools/utils/generate_registry_tables.py --xml=/mnt/e/Coding/wsl/Rust/cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/shaderc-sys-0.5.0/build/spirv-headers/include/spirv/spir-v.xml --generator-output=/mnt/f/workspace/rust-tutorials/vulkano-examples-master/target/debug/build/shaderc-sys-814e1b3412b48db9/out/build/spirv-tools/generators.inc Traceback (most recent call last): File "/mnt/e/Coding/wsl/Rust/cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/shaderc-sys-0.5.0/build/spirv-tools/utils/generate_registry_tables.py", line 19, in <module> import distutils.core ModuleNotFoundError: No module named 'distutils.core' [2/341] cd /mnt/f/workspace/rust-tutorials/vulkano-examples-master/target/debug/build/shaderc-sys-814e1b3412b48db9/out/build/spirv-tools && /usr/bin/cmake -DCHANGES_FILE=/mnt/e/Coding/wsl/Rust/cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/shaderc-sys-0.5.0/build/spirv-tools/CHANGES -DTEMPLATE_FILE=/mnt/e/Coding/wsl/Rust/cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/shaderc-sys-0.5.0/build/spirv-tools/cmake/SPIRV-Tools.pc.in -DOUT_FILE=/mnt/f/workspace/rust-tutorials/vulkano-examples-master/target/debug/build/shaderc-sys-814e1b3412b48db9/out/build/spirv-tools/SPIRV-Tools.pc -DCMAKE_INSTALL_PREFIX=/mnt/f/workspace/rust-tutorials/vulkano-examples-master/target/debug/build/shaderc-sys-814e1b3412b48db9/out -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_INCLUDEDIR=include -DSPIRV_LIBRARIES=-lSPIRV-Tools\ -lSPIRV-Tools-link\ -lSPIRV-Tools-opt -P /mnt/e/Coding/wsl/Rust/cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/shaderc-sys-0.5.0/build/spirv-tools/cmake/write_pkg_config.cmake [3/341] cd /mnt/f/workspace/rust-tutorials/vulkano-examples-master/target/debug/build/shaderc-sys-814e1b3412b48db9/out/build/spirv-tools && /usr/bin/cmake -DCHANGES_FILE=/mnt/e/Coding/wsl/Rust/cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/shaderc-sys-0.5.0/build/spirv-tools/CHANGES -DTEMPLATE_FILE=/mnt/e/Coding/wsl/Rust/cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/shaderc-sys-0.5.0/build/spirv-tools/cmake/SPIRV-Tools-shared.pc.in -DOUT_FILE=/mnt/f/workspace/rust-tutorials/vulkano-examples-master/target/debug/build/shaderc-sys-814e1b3412b48db9/out/build/spirv-tools/SPIRV-Tools-shared.pc -DCMAKE_INSTALL_PREFIX=/mnt/f/workspace/rust-tutorials/vulkano-examples-master/target/debug/build/shaderc-sys-814e1b3412b48db9/out -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_INCLUDEDIR=include -DSPIRV_SHARED_LIBRARIES=-lSPIRV-Tools-shared -P /mnt/e/Coding/wsl/Rust/cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/shaderc-sys-0.5.0/build/spirv-tools/cmake/write_pkg_config.cmake [4/341] Building CXX object glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/PoolAlloc.cpp.o [5/341] Building CXX object glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/RemoveTree.cpp.o [6/341] Building CXX object glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Scan.cpp.o [7/341] Building CXX object glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/ParseContextBase.cpp.o [8/341] Building CXX object glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/ParseHelper.cpp.o ninja: build stopped: subcommand failed. --- stderr thread 'main' panicked at ' command did not execute successfully, got: exit code: 1 build script failed, must exit now', /mnt/e/Coding/wsl/Rust/cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/cmake-0.1.40/src/lib.rs:832:5 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[Arch Linux] "could not find native static library `SPIRV-Tools-opt`, perhaps an -L flag is missing?"
This error started occurring on my Arch Linux system after doing a fresh build of nannou yesterday which relies on this crate via
vulkano_shaders
.This seems related to #58, though the patch posted at #59 seems to make no difference in my case. @Abendstolz were you able to get shaderc building (not just type-checking) with the patch at #59?
cargo check
works OK for me, butcargo build
fails with the title error.Here is the full output I get when attempting to build shaderc-rs master branch today:
[mindtree@mindtree shaderc-rs]$ cargo build Compiling cc v1.0.38 Compiling libc v0.2.60 Compiling cmake v0.1.40 Compiling shaderc-sys v0.6.0 (/home/mindtree/programming/rust/shaderc-rs/shaderc-sys) warning: Checking for system installed libraries. Use --features = build-from-source to disable this behavior warning: Found SPIRV. Linking libSPIRV & libglslang error: could not find native static library `SPIRV-Tools-opt`, perhaps an -L flag is missing? error: aborting due to previous error The following warnings were emitted during compilation: warning: Checking for system installed libraries. Use --features = build-from-source to disable this behavior warning: Found SPIRV. Linking libSPIRV & libglslang error: Could not compile `shaderc-sys`.
Here is the full output building the patch at #59 with unrelated deprecated item warnings omitted:
[mindtree@mindtree shaderc-rs]$ cargo build Compiling cc v1.0.38 Compiling libc v0.2.60 Compiling cmake v0.1.40 Compiling shaderc-sys v0.5.0 (/home/mindtree/programming/rust/shaderc-rs/shaderc-sys) warning: Checking for system installed libraries. Use --features = build-from-source to disable this behavior warning: Found SPIRV. Linking libSPIRV & libglslang # ... Deprecated item warnings ... error: could not find native static library `SPIRV-Tools-opt`, perhaps an -L flag is missing? error: aborting due to previous error The following warnings were emitted during compilation: warning: Checking for system installed libraries. Use --features = build-from-source to disable this behavior warning: Found SPIRV. Linking libSPIRV & libglslang error: Could not compile `shaderc-sys`.
I
cargo clean
ed andcargo update
d before each to ensure no old broken artifacts were being used. Using the"build-from-source"
feature seems to make no difference to the output in either case.Here are the related
libSPIRV*
libraries I can find in my/usr/lib
directory:-rw-r--r-- 1 root root 1010K Jul 19 19:46 libSPIRV.a -rwxr-xr-x 1 root root 526K Jul 19 19:46 libSPIRV.so lrwxrwxrwx 1 root root 11 Jul 19 19:46 libSPIRV.so.0 -> libSPIRV.so -rwxr-xr-x 1 root root 98K Jul 19 18:38 libSPIRV-Tools-link.so -rwxr-xr-x 1 root root 2.6M Jul 19 18:38 libSPIRV-Tools-opt.so -rwxr-xr-x 1 root root 178K Jul 19 18:38 libSPIRV-Tools-reduce.so -rwxr-xr-x 1 root root 1.1M Jul 19 18:38 libSPIRV-Tools-shared.so -rwxr-xr-x 1 root root 1.2M Jul 19 18:38 libSPIRV-Tools.so
Any advice on solutions/workarounds would be greatly appreciated!
build.rs: support libc++ Linux distros
Some Linux distros use LLVM libc++ instead of GNU libstdc++. Would support for this in build.rs be possible?
Link order of libshaderc and it's dependencies
I'm trying to link (statically) against libshaderc and it's dependencies.
For windows it seems like to be:shaderc shaderc_util SPIRV glslang OSDependent OGLCompiler HLSL SPIRV-Tools-Opt SPIRV-Tools
However, using this order on a Ubuntu 18.04 with clang 7.0.0 leads to the following undefined reference:
/usr/bin/ld: ../../lib/shaderc/bin/Linux/Release/libSPIRV-Tools-opt.a(strip_atomic_counter_memory_pass.cpp.o): in function `std::_Function_handler<void (spvtools::opt::Instruction*), spvtools::opt::StripAtomicCounterMemoryPass::Process()::$_0>::_M_invoke(std::_Any_data const&, spvtools::opt::Instruction*&&)': strip_atomic_counter_memory_pass.cpp:(.text+0xac): undefined reference to `spvOpcodeMemorySemanticsOperandIndices(SpvOp_)' clang: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed.find_library(SHADERC_LIB NAMES "shaderc" HINTS ${LIB_SPIRV_RELEASE_PATH}) find_library(SHADERC_LIB_D NAMES "shaderc" HINTS ${LIB_SPIRV_DEBUG_PATH}) find_library(SHADERC_UTIL_LIB NAMES "shaderc_util" HINTS ${LIB_SPIRV_RELEASE_PATH}) find_library(SHADERC_UTIL_LIB_D NAMES "shaderc_util" HINTS ${LIB_SPIRV_DEBUG_PATH}) find_library(GLSLANG_LIB NAMES "glslang" HINTS ${LIB_SPIRV_RELEASE_PATH}) find_library(GLSLANG_LIB_D NAMES "glslang" "glslangd" HINTS ${LIB_SPIRV_DEBUG_PATH}) find_library(SPIRV_LIB NAMES "SPIRV" HINTS ${LIB_SPIRV_RELEASE_PATH}) find_library(SPIRV_LIB_D NAMES "SPIRV" "SPIRVd" HINTS ${LIB_SPIRV_DEBUG_PATH}) find_library(HLSL_LIB NAMES "HLSL" HINTS ${LIB_SPIRV_RELEASE_PATH}) find_library(HLSL_LIB_D NAMES "HLSL" "HLSLd" HINTS ${LIB_SPIRV_DEBUG_PATH}) find_library(GLSLANG_OSDEPENDENT_LIB NAMES "OSDependent" HINTS ${LIB_SPIRV_RELEASE_PATH}) find_library(GLSLANG_OSDEPENDENT_LIB_D NAMES "OSDependent" "OSDependentd" HINTS ${LIB_SPIRV_DEBUG_PATH}) find_library(GLSLANG_OGL_COMPILER_LIB NAMES "OGLCompiler" HINTS ${LIB_SPIRV_RELEASE_PATH}) find_library(GLSLANG_OGL_COMPILER_LIB_D NAMES "OGLCompiler" "OGLCompilerd" HINTS ${LIB_SPIRV_DEBUG_PATH}) find_library(SPIRV_TOOLS_LIB NAMES "SPIRV-Tools" HINTS ${LIB_SPIRV_RELEASE_PATH}) find_library(SPIRV_TOOLS_LIB_D NAMES "SPIRV-Tools" HINTS ${LIB_SPIRV_DEBUG_PATH}) find_library(SPIRV_TOOLS_OPT_LIB NAMES "SPIRV-Tools-opt" HINTS ${LIB_SPIRV_RELEASE_PATH}) find_library(SPIRV_TOOLS_OPT_LIB_D NAMES "SPIRV-Tools-opt" HINTS ${LIB_SPIRV_DEBUG_PATH}) set(SHADERC_LIBS ${SHADERC_LIB} ${SHADERC_UTIL_LIB} ${SPIRV_LIB} ${GLSLANG_LIB} ${GLSLANG_OSDEPENDENT_LIB} ${GLSLANG_OGL_COMPILER_LIB} ${HLSL_LIB} ${SPIRV_TOOLS_OPT_LIB} ${SPIRV_TOOLS_LIB} ) target_link_libraries(main_target ${SHADERC_LIBS})Unfortunately the
libshaderc_combined.a
library also produces a large amount of undefined references.
I have build the shaderc library from source using cmake, clang 7.0.0 and ninja (like stated in the README.md) and everything built with success.Could someone advise me how to order the libs or how to use the combined lib?
Failed to build on Ubuntu 18.10
The script can't find PYTHON_EXE on Ubuntu 18.10.
It only succeeds after installing
python-dev.
Error message:
Compiling shaderc v0.3.13 error: failed to run custom build command for `shaderc v0.3.13` process didn't exit successfully: `~/conrod/target/debug/build/shaderc-79d246f08fbd036e/build-script-build` (exit code: 101) --- stdout running: "cmake" "~/.cargo/registry/src/github.com-1ecc6299db9ec823/shaderc-0.3.13/build" "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" "-DSPIRV_SKIP_EXECUTABLES=ON" "-DSPIRV_WERROR=OFF" "-DSHADERC_SKIP_TESTS=ON" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_INSTALL_PREFIX=~/Downloads/conrod/target/debug/build/shaderc-0fc9d865f5ba3bfe/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_BUILD_TYPE=Release" -- Building SPIRV-Header examples -- SPIRV-Tools: nosetests was not found - python support code will not be tested -- Google Mock was not found - tests based on that will not build -- optimizer enabled -- Shaderc: build type is "Release". -- Configuring Shaderc to avoid building tests. -- nosetests was not found - python code will not be tested -- asciidoctor was not found - no documentation will be generated -- Configuring done -- Generating done -- Build files have been written to: ~/Downloads/conrod/target/debug/build/shaderc-0fc9d865f5ba3bfe/out/build running: "cmake" "--build" "." "--target" "install" "--config" "Release" "--" [ 1%] Built target SPIRV-Headers-example-1.1 [ 1%] Built target SPIRV-Headers-example [ 1%] Built target spirv-tools-shared-pkg-config [ 1%] Built target spirv-tools-pkg-config [ 2%] Built target spirv-tools-spv-amd-shader-explicit-vertex-parameter [ 2%] Built target spirv-tools-debuginfo [ 2%] Built target spirv-tools-spv-amd-shader-ballot [ 2%] Built target spirv-tools-spv-amd-shader-trinary-minmax [ 2%] Built target spirv-tools-spv-amd-gcn-shader [ 3%] Built target spirv-tools-header-DebugInfo [ 4%] Built target enum_string_mapping [ 4%] Built target core_tables [ 6%] Built target HLSL [ 7%] Built target OSDependent [ 7%] Built target OGLCompiler [ 8%] Built target glslang-default-resource-limits [ 9%] Built target SPVRemapper [ 9%] Check copyright --- stderr /bin/sh: 1: PYTHON_EXE-NOTFOUND: not found make[2]: *** [shaderc/CMakeFiles/check-copyright.dir/build.make:58: shaderc/CMakeFiles/check-copyright] Error 127 make[1]: *** [CMakeFiles/Makefile2:2905: shaderc/CMakeFiles/check-copyright.dir/all] Error 2 make: *** [Makefile:130: all] Error 2 thread 'main' panicked at ' command did not execute successfully, got: exit code: 2 build script failed, must exit now', ~/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.35/src/lib.rs:778:5 note: Run with `RUST_BACKTRACE=1` for a backtrace. warning: build failed, waiting for other jobs to finish... error: build failed
Some binaries are built in error
Per the discussion in #34, some binaries are being built and left around despite them not even being used by the library.
d:\dev\learn-gfx-hal\target\debug\build\shaderc-0b3a14f59f26d605\out\bin>dir Volume in drive D is Data Volume Serial Number is B265-51AB Directory of d:\dev\learn-gfx-hal\target\debug\build\shaderc-0b3a14f59f26d605\out\bin 2019-01-25 09:07 PM <DIR> . 2019-01-25 09:07 PM <DIR> .. 2019-01-25 09:06 PM 3,981,312 glslangValidator.exe 2019-01-25 09:06 PM 4,111,360 glslc.exe 2019-01-25 09:07 PM 4,038,144 shaderc_shared.dll 2019-01-15 09:01 AM 866 spirv-lesspipe.sh 2019-01-25 09:07 PM 218,624 spirv-remap.exe 2019-01-25 09:06 PM 1,156,608 SPIRV-Tools-shared.dll
Try to use rust-bindgen to generate FFI bindings
build.rs: FreeBSD support
emit_std_cpp_link
:("freebsd", _)
is like("macos", _)
, we use libc++- in the big
match (target_os.as_str(), target_env.as_str())
, it would make sense to move("linux", _)
code to(_, _)
so that it works on any unix-like platform, and useemit_std_cpp_link
there instead of hardcodingstdc++
- a default search dir of
"/usr/local/lib"
fortarget_os == "freebsd"
would be nice- also a way to force using the shared lib when combined exists..
Consider switching to using git submodules instead of manually checking out repos
This would make managing the dependencies on other repositories much more straightforward and less error prone. For example, at the moment a clean build will work, but if you try to build again after that it will fail, since the
git pull
commands fail due to the checked out repos not being on a branch (instead they are pinned to a commit). With git submodules you can remove all of the git related code from the build script.Includes issue with Rust Nightly
In Vulkano project(that is using shaderc-rs under the hood) we faced a false-positive glsl error happening with includes feature on Rust Nightly build("rustc 1.49.0-nightly (91a79fb29 2020-10-07)").
This is a minimal reproducible example:
#version 450 #include <common.glsl>Error messages from the
Compile::compile_into_spirv
function are:shader.glsl:2: error: '#line' : must by followed by an integral literal shader.glsl:2: error: 'preprocessor evaluation' : bad expression shader.glsl:2: error: '#line' : unexpected tokens following directive
The "common.glsl" file is properly configured through the
CompileOptions::set_include_callback
function. Neither the snippet above nor "common.glsl" contain a "#line" directive. And this test example works fine with Rust Stable.Failure to build on MSCV
Ran into issue building another project, vulkano-rs/vulkano#1181
Not sure if I have failed to install something on this install of windows. I believe I have built previous version from this install.
cmake 3.14
python 3.7.2
CMakeError.log https://gist.github.com/AustinJ235/636396929f96c28b35d73cb3d8bc0aceWrapping shaderc_compile_options_set_include_callbacks
I'd be interested in having support for this in shaderc-rs so that sources can use include directives. I think I'll write a PR for this but I've opened this issue in case anyone else wants to discuss this.
Undocumented dependency on Python2
The build instructions only mentions Python 3.x, yet attempting to build without Python 2.x installed results in a build failure:
To build your own libshaderc for the shaderc-sys crate, the following tools must be installed and available on PATH:
- CMake
- Git
- Python (only works with both Python 3.x, on windows the executable must be named python.exe)
- a C++11 compiler
Given that Python2 reached its end-of-life on January 1st, and that many distributions (including Debian) are removing it from their future releases, I would strongly recommend getting rid of the dependency.
Adding iOS runtime
Is there any chance of adding an iOS runtime by adding support for other targets in
build.rs
?Ray Tracing Shader Support
Hey,
the title does actually say all ...
Add support to build various ray tracing shader (.rgen, .rint, .rahit, .rchit, .rmiss, .rcall). I can already convert these shader types from glsl to spir-v on command line, it would be nice to have it automated.
Recommend Projects
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
TensorFlow
An Open Source Machine Learning Framework for Everyone
Django
The Web framework for perfectionists with deadlines.
Laravel
A PHP framework for web artisans
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
Recommend Topics
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
web
Some thing interesting about web. New door for the world.
server
A server is a program made to process requests and deliver data to clients.
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Visualization
Some thing interesting about visualization, use data art
Game
Some thing interesting about game, make everyone happy.
Recommend Org
We are working to build community through open source technology. NB: members must have two-factor auth.
Microsoft
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba
Alibaba Open Source for everyone
D3
Data-Driven Documents codes.
Tencent
China tencent open source team.