uVkCompute icon indicating copy to clipboard operation
uVkCompute copied to clipboard

Build Failing @ Ubuntu 18.4

Open pure-water opened this issue 3 years ago • 10 comments

ninja: error: 'uvkc/benchmark/Vulkan::glslc', needed by 'uvkc/benchmark/void_shader_spirv_instance.inc', missing and no known rule to make it

Any idea how to deal with this?

Regards Yao

pure-water avatar Oct 02 '21 09:10 pure-water

Did you have a recent Vulkan SDK installed? glslc should be shipped in recent Vulkan SDK. You can see uvkc_find_vulkan_toolchain.cmake to understand how CMake tries to find Vulkan shader toolchain for uVkCompute.

antiagainst avatar Oct 02 '21 12:10 antiagainst

Thanks. I upgrade to the latest Vulkan_SDK. Now we progressed to here.

FAILED: uvkc/vulkan/CMakeFiles/uvkc_vulkan_dynamic_symbols.dir/dynamic_symbols.cc.o /usr/bin/c++ -I/home/nobond/workspace/uVkCompute -I/home/nobond/workspace/uVkCompute/third_party/abseil-cpp -DVK_NO_PROTOTYPES -std=gnu++14 -MD -MT uvkc/vulkan/CMakeFiles/uvkc_vulkan_dynamic_symbols.dir/dynamic_symbols.cc.o -MF uvkc/vulkan/CMakeFiles/uvkc_vulkan_dynamic_symbols.dir/dynamic_symbols.cc.o.d -o uvkc/vulkan/CMakeFiles/uvkc_vulkan_dynamic_symbols.dir/dynamic_symbols.cc.o -c /home/nobond/workspace/uVkCompute/uvkc/vulkan/dynamic_symbols.cc /home/nobond/workspace/uVkCompute/uvkc/vulkan/dynamic_symbols.cc: In static member function ‘static absl::StatusOr<std::unique_ptruvkc::vulkan::DynamicSymbols > uvkc::vulkan::DynamicSymbols::CreateFromSystemLoader()’: /home/nobond/workspace/uVkCompute/uvkc/vulkan/dynamic_symbols.cc:176:10: error: could not convert ‘syms’ from ‘std::unique_ptruvkc::vulkan::DynamicSymbols’ to ‘absl::StatusOr<std::unique_ptruvkc::vulkan::DynamicSymbols >’ return syms; ^~~~

pure-water avatar Oct 02 '21 14:10 pure-water

That seems to be a GCC issue. We don't have CI for GCC; right now only Clang is actively checked in CI. So it's not surprising that something might go wrong for GCC. I don't have a box with Ubuntu 18.04 at my side. I tried compiling with GCC 10 on Ubuntu 21.04, it's fine for me. For now you can switch to use Clang to bypass the issue if that's possible.

antiagainst avatar Oct 02 '21 16:10 antiagainst

Any quick way to switch to Clang?

pure-water avatar Oct 03 '21 00:10 pure-water

I got clang in my machine anyway already but the cmake did seem only use g++

pure-water avatar Oct 03 '21 01:10 pure-water

All right. Managed to upgrade my ubuntu to gcc-10, which seems solved the compiler issue.

pure-water avatar Oct 03 '21 02:10 pure-water

Does it meant only run at an ARM machine? I run build benchmark, everything is core-dumped

pure-water avatar Oct 03 '21 02:10 pure-water

I got clang in my machine anyway already but the cmake did seem only use g++

You can use cmake -DCMAKE_C_COMPILER=$(which clang) -DCMAKE_CXX_COMPILER=$(which clang++) ... to switch to clang.

Does it meant only run at an ARM machine? I run build benchmark, everything is core-dumped

That's strange. It should run on x86 Linux. What's the error message?

antiagainst avatar Oct 03 '21 12:10 antiagainst

You can use cmake -DCMAKE_C_COMPILER=$(which clang) -DCMAKE_CXX_COMPILER=$(which clang++) ... to switch to clang.

Thanks. It works as well regarding to compile.

That's strange. It should run on x86 Linux. What's the error message?

Please see the attached image. gcc/clang compiled results are the same. uVKcompute

pure-water avatar Oct 03 '21 14:10 pure-water

Also I have a Nvidia-1060 actually, not sure whether it matters.

pure-water avatar Oct 04 '21 06:10 pure-water