FS#72727 - [vtk] missing core dependency: tbb.
Attached to Project:
Community Packages
Opened by bartus (bartus) - Friday, 12 November 2021, 20:44 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:02 GMT
Opened by bartus (bartus) - Friday, 12 November 2021, 20:44 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:02 GMT
|
Details
Description: Core internal deps is missing from the depends
array.
Target `VTK::CommonCore` depends on `VTKm` witch, in turn, holds the state of multiprocess framework it was built against and will fail to instantiate if unable to find specifically the TBB one. ```vtk-config.cmake ... unset("${CMAKE_FIND_PACKAGE_NAME}_FOUND") set("${CMAKE_FIND_PACKAGE_NAME}_HAS_VTKm" "ON") if (${CMAKE_FIND_PACKAGE_NAME}_HAS_VTKm) find_package(VTKm PATHS "${CMAKE_CURRENT_LIST_DIR}/vtkm" NO_DEFAULT_PATH) if (NOT VTKm_FOUND) set("${CMAKE_FIND_PACKAGE_NAME}_FOUND" 0) endif () endif () ... ``` ```VTKmConfig.cmake ... # VTKm_ENABLE_TBB Will be enabled if VTK-m was built with TBB support ... set(VTKm_ENABLE_TBB "ON") ... ... if (VTKm_ENABLE_TBB) find_dependency(TBB) if (NOT TBB_FOUND) set(VTKm_FOUND 0) list(APPEND VTKm_NOT_FOUND_REASON "TBB not found: ${TBB_NOT_FOUND_MESSAGE}") endif() endif() ``` Additional info: * vtk:9.1.0-2 |
This task depends upon
Closed by Buggy McBugFace (bugbot)
Saturday, 25 November 2023, 20:02 GMT
Reason for closing: Moved
Additional comments about closing: https://gitlab.archlinux.org/archlinux/p ackaging/packages/vtk/issues/1
Saturday, 25 November 2023, 20:02 GMT
Reason for closing: Moved
Additional comments about closing: https://gitlab.archlinux.org/archlinux/p ackaging/packages/vtk/issues/1
```vtk-config.cmake
unset("${CMAKE_FIND_PACKAGE_NAME}_FOUND")
set("${CMAKE_FIND_PACKAGE_NAME}_HAS_VTKm" "ON")
if (${CMAKE_FIND_PACKAGE_NAME}_HAS_VTKm)
find_package(VTKm PATHS "${CMAKE_CURRENT_LIST_DIR}/vtkm" NO_DEFAULT_PATH)
if (NOT VTKm_FOUND)
set("${CMAKE_FIND_PACKAGE_NAME}_FOUND" 0)
endif ()
endif ()
```
```VTKmConfig.cmake
# VTKm_ENABLE_TBB Will be enabled if VTK-m was built with TBB support
set(VTKm_ENABLE_TBB "ON")
if (VTKm_ENABLE_TBB)
find_dependency(TBB)
if (NOT TBB_FOUND)
set(VTKm_FOUND 0)
list(APPEND VTKm_NOT_FOUND_REASON "TBB not found: ${TBB_NOT_FOUND_MESSAGE}")
endif()
endif()
```
```vtkm/VTKmConfig.cmake
set(VTKm_ENABLE_OPENMP "ON")
set(VTKm_ENABLE_MPI "ON")
```
```vtkm/cmake/VTKmWrappers.cmake
if(VTKm_ENABLE_MPI AND NOT TARGET MPI::MPI_CXX)
find_package(MPI REQUIRED MODULE)
endif()
```
It fails complaining about missing `openmpi`
`PKGBUILD`
```
pkgname=test
pkgver=1.0
pkgrel=1
arch=(x86_64)
depends=(vtk tbb)
makedepends=(cmake)
source=(CMakeLists.txt)
sha256sums=('SKIP')
package() {
cmake -S "$srcdir" -B build
}
```
`CMakeList.txt`
```
cmake_minimum_required(VERSION 3.2)
project(test)
find_package(VTK REQUIRED COMPONENTS vtkCommonCore)
```
`extra-x86_64-build.log`
```
...
-- Could NOT find MPI_CXX (missing: MPI_CXX_LIB_NAMES MPI_CXX_HEADER_DIR MPI_CXX_WORKS)
CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND)
Call Stack (most recent call first):
/usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.22/Modules/FindMPI.cmake:1830 (find_package_handle_standard_args)
/usr/lib/cmake/vtk/vtkm/cmake/VTKmWrappers.cmake:18 (find_package)
/usr/lib64/cmake/vtk/vtkm/VTKmConfig.cmake:173 (include)
/usr/lib64/cmake/vtk/vtk-config.cmake:129 (find_package)
CMakeLists.txt:3 (find_package)
```
`find_package(VTKm)` is guarded by `VTK_HAS_VTKm` variable which is set to `ON` if `vtk::vtkm` target exist during build.
https://gitlab.kitware.com/vtk/vtk/-/blob/master/CMake/vtk-config.cmake.in#L127