OSPRay 1.8 and TBB tbb2018_20170919oss_win Required

Is there a reason why

  • OSPRay 1.8, and
  • TBB 2018 Update 1 (tbb2018_20170919oss_win)

are required in VTK-9.0.3 and newer versions aren’t supported? Is this intentional?

Regarding OSPRay, 1.8 is the last 1.X release, OSPRay 2.0 broke many API, which is supported by VTK master, but not VTK-9.0.X

No idea for TBB.

I ask because if I add support for OSPRay

VTK_MODULE_ENABLE_VTK_RenderingRayTracing    WANT

I get the error

CMake Warning at C:/vcpkg/scripts/buildsystems/vcpkg.cmake:784 (_find_package):
  Could not find a configuration file for package "ospray" that is compatible
  with requested version "1.8".

  The following configuration files were considered but not accepted:

    C:/Program Files (x86)/Intel/oneAPI/ospray/2.6.0/lib/cmake/ospray/osprayConfig.cmake, version: 2.6.0

Call Stack (most recent call first):
  CMake/vtkModule.cmake:4139 (find_package)
  Rendering/RayTracing/CMakeLists.txt:58 (vtk_module_find_package)


CMake Error at CMake/vtkModule.cmake:4145 (message):
  Could not find the ospray external dependency.
Call Stack (most recent call first):
  Rendering/RayTracing/CMakeLists.txt:58 (vtk_module_find_package)

and I see in C:/VTK/src/Rendering/RayTracing/CMakeLists.txt, line 58 requires version 1.8

if (VTK_ENABLE_OSPRAY)
  vtk_module_find_package(
    PACKAGE ospray
    VERSION 1.8)

After downloading and installing version 1.8 for Windows, the configure works, but then I get an error during building that it couldn’t find C:/tbb2018_20170919oss/... files, so I knew that meant I had to download TBB 2018 Update 1.

This says that VTK is searching for something compatible with 1.6. 2.6. was found but rejected the notion that it was compatible with something requesting 1.6 (which is probably true).

It sounds like the OSPRay you downloaded is pinned to a TBB in a specific location. This is a problem with OSPRay and not VTK. We use TBB 2019 just fine in ParaView’s superbuild. Note that OneAPI’s TBB is not compatible with VTK-m because it uses TBB’s task and other deprecated APIs yet. See this issue.

This says that VTK is searching for something compatible with 1.6.

Do you mean 1.8?

It sounds like the OSPRay you downloaded is pinned to a TBB in a specific location. This is a problem with OSPRay and not VTK.

Ya, I’d agree. It even specifically is looking for it in C:/tbb2018_20170919oss/

Err, yes. 1.8.

Yeah, that hard-coded path is what happens when you don’t have imported targets and instead use things like FooBar_INCLUDE_DIRS :slight_smile: .