Bug#970832: highwayhash FTCBFS: multiple reasons

Helmut Grohne helmut at subdivi.de
Thu Sep 24 06:18:48 BST 2020


Source: highwayhash
Version: 0~git20191002.0aaf66b-1
Tags: patch
User: debian-cross at lists.debian.org
Usertags: ftcbfs

highwayhash fails to cross build from source for multiple reasons. One
reason is confusing the terms build and host as defined in man
dpkg-architecture. Thus it issues inappropriate compiler flags during
cross builds. Beyond that, libhighwayhash.so is not part of the default
target, so it only gets built during dh_auto_install where no cross
tools are passed. The attached patch fixes both aspects. Please consider
applying it.

Helmut
-------------- next part --------------
diff --minimal -Nru highwayhash-0~git20191002.0aaf66b/debian/changelog highwayhash-0~git20191002.0aaf66b/debian/changelog
--- highwayhash-0~git20191002.0aaf66b/debian/changelog	2019-10-04 09:48:51.000000000 +0200
+++ highwayhash-0~git20191002.0aaf66b/debian/changelog	2020-09-24 06:13:24.000000000 +0200
@@ -1,3 +1,12 @@
+highwayhash (0~git20191002.0aaf66b-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: (Closes: #-1)
+    + Fix build vs host confusion.
+    + Build libhighwayhash.so during dh_auto_build.
+
+ -- Helmut Grohne <helmut at subdivi.de>  Thu, 24 Sep 2020 06:13:24 +0200
+
 highwayhash (0~git20191002.0aaf66b-1) unstable; urgency=medium
 
   * New upstream version 0~git20191002.0aaf66b
diff --minimal -Nru highwayhash-0~git20191002.0aaf66b/debian/rules highwayhash-0~git20191002.0aaf66b/debian/rules
--- highwayhash-0~git20191002.0aaf66b/debian/rules	2019-10-04 09:48:51.000000000 +0200
+++ highwayhash-0~git20191002.0aaf66b/debian/rules	2020-09-24 06:13:24.000000000 +0200
@@ -1,26 +1,25 @@
 #!/usr/bin/make -f
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
-BUILD_ARCH=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
-MULTIARCH=$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+include /usr/share/dpkg/architecture.mk
 export DESTDIR=/usr
-export LIBDIR=$(DESTDIR)/lib/$(MULTIARCH)/
+export LIBDIR=$(DESTDIR)/lib/$(DEB_HOST_MULTIARCH)/
 export INCDIR=$(DESTDIR)/include/
 TESTBINS = highwayhash_test nanobenchmark_example profiler_example sip_hash_test vector_test
 
-ifeq (arm64,$(BUILD_ARCH))
+ifeq (arm64,$(DEB_HOST_ARCH_CPU))
 export HH_AARCH64=1
 endif
-ifeq (ppc64,$(BUILD_ARCH))
-export HH_POWER=1
-endif
-ifeq (ppc64el,$(BUILD_ARCH))
+ifneq (,$(filter $(DEB_HOST_ARCH_CPU),ppc64 ppc64el))
 export HH_POWER=1
 endif
 
 %:
 	dh $@
 
+override_dh_auto_build:
+	dh_auto_build -- all lib/libhighwayhash.so
+
 override_dh_auto_clean:
 	dh_auto_clean
 	-$(RM) deps.mk
@@ -35,12 +34,12 @@
 
 override_dh_auto_install:
 	dh_auto_install
-	mkdir -p debian/libhighwayhash0/usr/lib/$(MULTIARCH)
-	rename 's/.so/.so.0/' debian/tmp/usr/lib/$(MULTIARCH)/*.so
-	install -m0755 debian/tmp/usr/lib/$(MULTIARCH)/*.so.0 \
-		debian/libhighwayhash0/usr/lib/$(MULTIARCH)/
-	mkdir -p debian/libhighwayhash-dev/usr/lib/$(MULTIARCH)
-	install -m0755 debian/tmp/usr/lib/$(MULTIARCH)/*.a \
-		debian/libhighwayhash-dev/usr/lib/$(MULTIARCH)/
-	set -e; cd debian/libhighwayhash-dev/usr/lib/$(MULTIARCH)/; \
+	mkdir -p debian/libhighwayhash0/usr/lib/$(DEB_HOST_MULTIARCH)
+	rename 's/.so/.so.0/' debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.so
+	install -m0755 debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.so.0 \
+		debian/libhighwayhash0/usr/lib/$(DEB_HOST_MULTIARCH)/
+	mkdir -p debian/libhighwayhash-dev/usr/lib/$(DEB_HOST_MULTIARCH)
+	install -m0755 debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.a \
+		debian/libhighwayhash-dev/usr/lib/$(DEB_HOST_MULTIARCH)/
+	set -e; cd debian/libhighwayhash-dev/usr/lib/$(DEB_HOST_MULTIARCH)/; \
 		ln -s libhighwayhash.so.0 libhighwayhash.so


More information about the debian-science-maintainers mailing list