Bug#1039528: plastimatch: FTBFS: Could not find a package configuration file provided by "VTK"
On Tue, Jun 27, 2023 at 11:10:56AM -0500, Steven Robbins wrote: >... > > In file included from > > /<>/src/plastimatch/base/dcmtk_config.h:16, from > > /<>/src/plastimatch/base/metadata.h:12, from > > /<>/src/plastimatch/base/astroid_dose.h:8, from > > /<>/src/plastimatch/base/astroid_dose.cxx:7: > > /usr/include/dcmtk/config/osconfig.h:1153:2: error: invalid preprocessing > > directive #errorDCMTK 1153 | #error\ > > > > | ^~ > > > > 1154 | DCMTK was configured to use C++17 features, but your compiler does > > not or was not configured to provide them. > > | ~ > > > > 2. This is caused by libinsighttoolkit5-dev injecting -std=c++14 into > >reverse dependencies, the fix is likely something like > > > This is less clear to me. Elastix also build-depends on dcmtk and doesn't > show this issue. I think ITK uses C++14 as a minimum but you ought to be > able > to build with higher levels. At work, we build with a C++20 compiler. > > Thus: I am closing this bug with rev -4 fixing the first mentioned issue. If > I > am wrong about the second, please open a second bug. I've opened #1039903. > Regards, > -Steve cu Adrian
Bug#1039528: plastimatch: FTBFS: Could not find a package configuration file provided by "VTK"
On Monday, June 26, 2023 6:15:06 P.M. CDT Adrian Bunk wrote: > Control: reassign -1 libinsighttoolkit5-dev 5.3.0-3 > Control: affects -1 src:plastimatch > > There are actually tow separate issues, both in libinsighttoolkit5-dev: Thanks for bringing this to my attention. > 1. The VTK build dependencies for the recent VTK changes also hae to >become dependencies of libinsighttoolkit5-dev. I confirmed this bug, and fixed it in a rev -4 upload of ITK. I confirmed the issue and the fix by building elastix, which depends on ITK in the same manner. > In file included from > /<>/src/plastimatch/base/dcmtk_config.h:16, from > /<>/src/plastimatch/base/metadata.h:12, from > /<>/src/plastimatch/base/astroid_dose.h:8, from > /<>/src/plastimatch/base/astroid_dose.cxx:7: > /usr/include/dcmtk/config/osconfig.h:1153:2: error: invalid preprocessing > directive #errorDCMTK 1153 | #error\ > > | ^~ > > 1154 | DCMTK was configured to use C++17 features, but your compiler does > not or was not configured to provide them. > | ~ > > 2. This is caused by libinsighttoolkit5-dev injecting -std=c++14 into >reverse dependencies, the fix is likely something like This is less clear to me. Elastix also build-depends on dcmtk and doesn't show this issue. I think ITK uses C++14 as a minimum but you ought to be able to build with higher levels. At work, we build with a C++20 compiler. Thus: I am closing this bug with rev -4 fixing the first mentioned issue. If I am wrong about the second, please open a second bug. Regards, -Steve signature.asc Description: This is a digitally signed message part.
Bug#1039528: plastimatch: FTBFS: Could not find a package configuration file provided by "VTK"
Control: reassign -1 libinsighttoolkit5-dev 5.3.0-3 Control: affects -1 src:plastimatch There are actually tow separate issues, both in libinsighttoolkit5-dev: https://buildd.debian.org/status/logs.php?pkg=plastimatch&ver=1.9.4%2Bdfsg.1-1%2Bb1&arch=amd64 On Tue, Jun 27, 2023 at 12:09:04AM +0200, Sebastian Ramacher wrote: > Source: plastimatch > Version: 1.9.4+dfsg.1-1 >... > CMake Error at > /usr/lib/x86_64-linux-gnu/cmake/ITK-5.3/Modules/ITKVtkGlue.cmake:16 > (find_package): > Could not find a package configuration file provided by "VTK" with any of > the following names: > > VTKConfig.cmake > vtk-config.cmake > > Add the installation prefix of "VTK" to CMAKE_PREFIX_PATH or set "VTK_DIR" > to a directory containing one of the above files. If "VTK" provides a > separate development package or SDK, be sure it has been installed. >... 1. The VTK build dependencies for the recent VTK changes also hae to become dependencies of libinsighttoolkit5-dev. In file included from /<>/src/plastimatch/base/dcmtk_config.h:16, from /<>/src/plastimatch/base/metadata.h:12, from /<>/src/plastimatch/base/astroid_dose.h:8, from /<>/src/plastimatch/base/astroid_dose.cxx:7: /usr/include/dcmtk/config/osconfig.h:1153:2: error: invalid preprocessing directive #errorDCMTK 1153 | #error\ | ^~ 1154 | DCMTK was configured to use C++17 features, but your compiler does not or was not configured to provide them. | ~ 2. This is caused by libinsighttoolkit5-dev injecting -std=c++14 into reverse dependencies, the fix is likely something like https://github.com/InsightSoftwareConsortium/ITK/commit/513507e4c70172d5431563f89dc77c6bae1ad5b1 cu Adrian
Bug#1039528: plastimatch: FTBFS: Could not find a package configuration file provided by "VTK"
Source: plastimatch Version: 1.9.4+dfsg.1-1 Severity: serious Tags: ftbfs sid bookworm Justification: fails to build from source (but built successfully in the past) X-Debbugs-Cc: sramac...@debian.org https://buildd.debian.org/status/fetch.php?pkg=plastimatch&arch=amd64&ver=1.9.4%2Bdfsg.1-1%2Bb1&stamp=1687808525&raw=0 -- Found HDF5: /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_cpp.so;/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so;/usr/lib/x86_64-linux-gnu/libcrypto.so;/usr/lib/x86_64-linux-gnu/libcurl.so;/usr/lib/x86_64-linux-gnu/libpthread.a;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.a;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so;/usr/lib/x86_64-linux-gnu/libcrypto.so;/usr/lib/x86_64-linux-gnu/libcurl.so;/usr/lib/x86_64-linux-gnu/libpthread.a;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.a;/usr/lib/x86_64-linux-gnu/libm.so (found version "1.10.8") found components: CXX C HL CMake Error at /usr/lib/x86_64-linux-gnu/cmake/ITK-5.3/Modules/ITKVtkGlue.cmake:16 (find_package): Could not find a package configuration file provided by "VTK" with any of the following names: VTKConfig.cmake vtk-config.cmake Add the installation prefix of "VTK" to CMAKE_PREFIX_PATH or set "VTK_DIR" to a directory containing one of the above files. If "VTK" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): /usr/lib/x86_64-linux-gnu/cmake/ITK-5.3/ITKModuleAPI.cmake:76 (include) /usr/lib/x86_64-linux-gnu/cmake/ITK-5.3/ITKModuleAPI.cmake:31 (itk_module_load) /usr/lib/x86_64-linux-gnu/cmake/ITK-5.3/ITKModuleAPI.cmake:129 (_itk_module_config_recurse) /usr/lib/x86_64-linux-gnu/cmake/ITK-5.3/ITKConfig.cmake:89 (itk_module_config) CMakeLists.txt:573 (find_package) -- Configuring incomplete, errors occurred! cd obj-x86_64-linux-gnu && tail -v -n \+0 CMakeCache.txt ==> CMakeCache.txt <== # This is the CMakeCache file. # For build in directory: /<>/obj-x86_64-linux-gnu # It was generated by CMake: /usr/bin/cmake # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. # If you do want to change a value, simply edit, save, and exit the editor. # The syntax for the file is as follows: # KEY:TYPE=VALUE # KEY is the name of a variable in the cache. # TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. # VALUE is the current value for the KEY. # EXTERNAL cache entries //Build plastimatch as shared library BUILD_SHARED_LIBS:BOOL=ON //Build the testing tree. BUILD_TESTING:BOOL=ON //Path to a program. CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line //Path to a program. CMAKE_AR:FILEPATH=/usr/bin/ar //No help, variable specified on the command line. CMAKE_BUILD_TYPE:STRING=RELEASE //Enable/Disable color output during build. CMAKE_COLOR_MAKEFILE:BOOL=ON //CXX compiler CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ //A wrapper around 'ar' adding the appropriate '--plugin' option // for the GCC compiler CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-12 //A wrapper around 'ranlib' adding the appropriate '--plugin' option // for the GCC compiler CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-12 //Flags used by the CXX compiler during all build types. CMAKE_CXX_FLAGS:STRING=-g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 //Flags used by the CXX compiler during DEBUG builds. CMAKE_CXX_FLAGS_DEBUG:STRING=-g //Flags used by the CXX compiler during MINSIZEREL builds. CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG //Flags used by the CXX compiler during RELEASE builds. CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG //Flags used by the CXX compiler during RELWITHDEBINFO builds. CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG //C compiler CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc //A wrapper around 'ar' adding the appropriate '--plugin' option // for the GCC compiler CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-12 //A wrapper around 'ranlib' adding the appropriate '--plugin' option // for the GCC compiler CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-12 //Flags used by the C compiler during all build types. CMAKE_C_FLAGS:STRING=-g -O2 -ffile-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 //Flags used by the C compiler during DEBUG builds. CMAKE_C_FLAGS_DEBUG:STRING=-g //Flags used by the C compiler during MINSIZEREL builds. CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG //Flags used by the C compiler during RELEASE builds. CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG //Flags used by the C compiler during RELWITHDEBINFO builds. CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG //Path to a program. CM