Bug#1086937: pfstools: build against imagemagick 7
Andreas Metzler
ametzler at bebt.de
Sat Nov 9 16:51:25 GMT 2024
On 2024-11-07 pochu at 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
More information about the Pkg-phototools-devel
mailing list