[Pkg-gmagick-im-team] Bug#1086784: imagemagick FTCBFS: multiple reasons
Helmut Grohne
helmut at subdivi.de
Tue Nov 5 20:01:41 GMT 2024
Source: imagemagick
Version: 8:7.1.1.39+dfsg1-1
Tags: patch
User: debian-cross at lists.debian.org
Usertags: cross-satisfiability ftcbfs
Hi,
imagemagick fails to cross build from source for multiple reason.
The first stumbling block is the g++ dependency. Rather than figure out
why, I checked that it is satisfied in buster, so we can simply drop it.
It actually starts building then until it passes host architecture
compiler flags to the build archiecture compiler used for building
PerlMagick. For cross compiling Perl stuff, one should extend the Perl
include path with the cross configuration directory. This fixes the
PerlMagick part.
Then, converting the icons cache fails as the built convert cannot be
run. I propose adding a recursive build dependency conditional to cross
compilation and then using that rather than building imagemagick twice.
And with all of that, it actually cross builds. I'm attaching a patch
containing all of the mentioned changes for your convenience.
Helmut
-------------- next part --------------
diff --minimal -Nru imagemagick-7.1.1.39+dfsg1/debian/changelog imagemagick-7.1.1.39+dfsg1/debian/changelog
--- imagemagick-7.1.1.39+dfsg1/debian/changelog 2024-10-27 19:45:43.000000000 +0100
+++ imagemagick-7.1.1.39+dfsg1/debian/changelog 2024-11-05 17:21:45.000000000 +0100
@@ -1,3 +1,13 @@
+imagemagick (8:7.1.1.39+dfsg1-1.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix FTCBFS: (Closes: #-1)
+ + Drop versioned g++ dependency satisfied in buster.
+ + Export PERL5LIB for cross building.
+ + Use the installed convert for generating the icons cache.
+
+ -- Helmut Grohne <helmut at subdivi.de> Tue, 05 Nov 2024 17:21:45 +0100
+
imagemagick (8:7.1.1.39+dfsg1-1) unstable; urgency=medium
* New upstream version
diff --minimal -Nru imagemagick-7.1.1.39+dfsg1/debian/control imagemagick-7.1.1.39+dfsg1/debian/control
--- imagemagick-7.1.1.39+dfsg1/debian/control 2024-10-19 17:16:30.000000000 +0200
+++ imagemagick-7.1.1.39+dfsg1/debian/control 2024-11-05 17:21:45.000000000 +0100
@@ -11,8 +11,6 @@
dpkg-dev (>= 1.22.5),
# for improving build
dh-exec,
-# ABI dump
- g++ (>= 4:7),
# for linking compiling ...
pkgconf, libltdl-dev,
# for libtool does not link to depends lib
@@ -40,7 +38,9 @@
# for libgomp symbols
dpkg-dev (>= 1.17.6),
# for perltest versioned due to name change
- fonts-tuffy (>= 20120614-3~)
+ fonts-tuffy (>= 20120614-3~),
+# for building icons cache
+ imagemagick <cross>,
# for documentation
Build-Depends-Indep: doxygen, doxygen-latex, graphviz,
libxml2-utils,
diff --minimal -Nru imagemagick-7.1.1.39+dfsg1/debian/rules imagemagick-7.1.1.39+dfsg1/debian/rules
--- imagemagick-7.1.1.39+dfsg1/debian/rules 2024-08-20 11:23:17.000000000 +0200
+++ imagemagick-7.1.1.39+dfsg1/debian/rules 2024-11-05 17:21:45.000000000 +0100
@@ -43,9 +43,19 @@
export MAGICK ?= ./magick.sh magick
export CONVERT ?= $(MAGICK) convert
VALGRIND_CONVERT ?= ./libtool --mode=execute valgrind $(CONVERT)
+ifneq (,$(filter cross,$(DEB_BUILD_PROFILES)))
+CROSS_CONVERT = convert
+else
+CROSS_CONVERT = $(CONVERT)
+endif
CONVERT_FLAGS ?= -background none -define filter:blur=0.75 -filter Gaussian
# perl path
+ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
+PERLVER := $(shell perl -MConfig -e 'print $$Config{version}')
+PERL5LIB := /usr/lib/$(DEB_HOST_MULTIARCH)/perl/cross-config-$(PERLVER)$(if $(PERL5LIB),:$(PERL5LIB))
+export PERL5LIB
+endif
export DEB_PERL_ARCHLIB := $(shell perl -MConfig -e 'print $$Config{vendorarch}')
@@ -493,7 +503,7 @@
mkdir -p $(CURDIR)/debian/tmp-$*/usr/share/icons/hicolor/$$SIZE/apps/ ;\
cd $(CURDIR)/debian/build-quantum-$*; \
echo "Make icons for size $$SIZE..."; \
- $(CONVERT) $(CURDIR)/debian/display-im$(IMVERSION).svg \
+ $(CROSS_CONVERT) $(CURDIR)/debian/display-im$(IMVERSION).svg \
$(CONVERT_FLAGS) -resize $$SIZE \
-gravity center -extent $$SIZE \
+set date:create +set date:modify -define png:exclude-chunk=time \
More information about the Pkg-gmagick-im-team
mailing list