Building issues when iMSTK_USE_Vulkan is set ON

#1

Hi there,
I’m trying to build iMSTK with Vulkan features enabled and it stops after
VulkanSDK_LIBRARY
linked by target “Rendering” in directory $MYWORKSPACE/kitware/iMSTK/Source/Rendering
– Configuring incomplete, errors occurred!
The log file indicates that the error is related with some undeclared var called pthread_kill …
$MYWORKSPACE/kitware/iMSTK/bin/Innerbuild/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:19: error: ‘pthread_kill’ undeclared (first use in this function)
return ((int*)(&pthread_kill))[argc];
I’m not sure if the issue is related with my system (lack of some lib) or due to the vulkan sdk, any clues to solve this?
My system:
Distributor ID: Debian
Description: Debian GNU/Linux 9.9 (stretch)
Release: 9.9
ccmake version 3.14.0-rc2
Vulkan API Version: 1.0.39
#Vulkan env settings
#Vulkan
export VULKAN_SDK=$MYWORKSPACE/vulkan-sdk/1.1.106.0/x86_64
export PATH=$VULKAN_SDK/bin:$PATH
export LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH
export VK_LAYER_PATH=$VULKAN_SDK/etc/explicit_layer.d
I’ve successfully compiled vulkan tools in the bin folder
glslangValidator spirv-as spirv-cross spirv-lesspipe.sh spirv-remap vkreplay vkvia vulkaninfo
glslc spirv-cfg spirv-dis spirv-opt spirv-val vktrace vkvia.html
and the samples/examples as well…

Thanks in advance for any help and congratz for this great project!
Yours,
René

#2

Welcome @renex!

Unfortunately, the Vulkan backend currently does not support Linux officially. It won’t work at the moment since the swapchain creation is different on Linux compared to Windows, but it’s on our TODO list.

Have you tried building the VTK backend? Also, are there certain features you need from the Vulkan renderer that the VTK renderer doesn’t provide?

#3

Hi @NickMilef, thanks for the quick answer. We’ve already tested the software with the VTK backend and works great. The reason of using Vulkan is just for testing/learning purposes by the moment. We are now trying to compile with the vrpn flag and seeing what can we use to manage the interaction (we do not have a haptic hardware by the moment). We hopefuly will have the framework fully ready for dev soon =). I will keep tuned.