On 2024-11-07 po...@debian.org wrote: > Source: pfstools > Severity: serious
> Hi, > pfstools is still built against imagemagick 6, but we're transitioning > to imagemagick 7, see [1]. > Your package may be build-depending on imagemagick 6 binaries (e.g. > libmagickwand-6.q16-dev), in which case it should switch to the new > binary packages, or generic ones if possible. > If your package build-depends on unversioned packages (e.g. > libmagick++-dev) then most likely it failed to build against the > new version, and will need fixes for ImageMagick 7. See the buildd > status for logs [2]. [...] Hello Emilio, pfstools FTBFS against imagemagick 7 with In file included from /usr/include/ImageMagick-7/Magick++/Include.h:16, from /usr/include/ImageMagick-7/Magick++.h:12, from /tmp/PFSTOOLS/pfstools/src/fileformat/pfsinimgmagick.cpp:3 0: /usr/include/ImageMagick-7/MagickCore/magick-config.h:25:10: fatal error: Magick Core/magick-baseconfig.h: No such file or directory 25 | #include "MagickCore/magick-baseconfig.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ And afaict this looks like a either a bug in cmake-data 3.30.5-1 or the imagemagick 7 debian package uses different paths than cmake's /usr/share/cmake-3.30/Modules/FindImageMagick.cmake expects. The issue is that find_package(ImageMagick COMPONENTS Magick++ MagickCore) fails to locate "the ImageMagick arch-specific include dir" with v7. Using cmake -Wdev --log-level=TRACE --log-context --debug-find we find: ---------- CMake Debug Log at /usr/share/cmake-3.30/Modules/FindImageMagick.cmake:131 (find_path): find_path called with the following settings: VAR: ImageMagick_Magick++_ARCH_INCLUDE_DIR NAMES: "magick/magick-baseconfig.h" Documentation: Path to the ImageMagick arch-specific include dir. Framework Only Search Frameworks: 0 Search Frameworks Last: 0 Search Frameworks First: 0 AppBundle Only Search AppBundle: 0 Search AppBundle Last: 0 Search AppBundle First: 0 NO_DEFAULT_PATH Enabled find_path considered the following locations: /usr/include/ImageMagick-7/ImageMagick/magick/magick-baseconfig.h /usr/include/ImageMagick-7/ImageMagick-6/magick/magick-baseconfig.h /usr/include/ImageMagick-7/ImageMagick-7/magick/magick-baseconfig.h /usr/include/ImageMagick-7/magick/magick-baseconfig.h /usr/include/x86_64-linux-gnu/ImageMagick-7/ImageMagick/magick/magick-baseconfig.h /usr/include/x86_64-linux-gnu/ImageMagick-7/ImageMagick-6/magick/magick-baseconfig.h /usr/include/x86_64-linux-gnu/ImageMagick-7/ImageMagick-7/magick/magick-baseconfig.h /usr/include/x86_64-linux-gnu/ImageMagick-7/magick/magick-baseconfig.h The item was not found. ---------- With imagemagick 7 magick-baseconfig.h was moved from /usr/include/x86_64-linux-gnu/ImageMagick-6/magick/magick-baseconfig.h to /usr/include/x86_64-linux-gnu/ImageMagick-7/MagickCore/magick-baseconfig.h and FindImageMagick.cmake only looks in magick/ not in MagickCore/. cu Andreas