Source: dmraid Version: 1.0.0.rc16-8 Tags: patch User: debian-cr...@lists.debian.org Usertags: ftcbfs
dmraid fails to cross build from source, because it fails linking an incompatible libgcc_s.so.1. Passing an incompatible -L flag used to work, but for some reason gcc got more picky about it and fails hard now. dmraid passes -L$(DESTDIR)$(libdir) in tools/Makefile.in. At that point DESTDIR is empty and libdir is $(exec_prefix)/lib where exec_prefix is /. Thus the flag becomes -L//lib (in both native and cross builds). Bummer. A simple way to get around this is to use a multiarch --libdir, which is a good thing in general. Please consider applying the attached patch. Helmut
diff -u dmraid-1.0.0.rc16/debian/changelog dmraid-1.0.0.rc16/debian/changelog --- dmraid-1.0.0.rc16/debian/changelog +++ dmraid-1.0.0.rc16/debian/changelog @@ -1,3 +1,10 @@ +dmraid (1.0.0.rc16-8.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix FTCBFS: Use a multiarch --libdir. (Closes: #-1) + + -- Helmut Grohne <hel...@subdivi.de> Mon, 17 Feb 2020 05:42:58 +0100 + dmraid (1.0.0.rc16-8) unstable; urgency=medium * Fix library dev symlink (closes: 856946). diff -u dmraid-1.0.0.rc16/debian/control dmraid-1.0.0.rc16/debian/control --- dmraid-1.0.0.rc16/debian/control +++ dmraid-1.0.0.rc16/debian/control @@ -3,7 +3,7 @@ Priority: optional Maintainer: Laszlo Boszormenyi (GCS) <g...@debian.org> Standards-Version: 3.9.5 -Build-Depends: debhelper (>= 9), libdevmapper-dev, libklibc-dev, libselinux1-dev, quilt (>= 0.40), autotools-dev +Build-Depends: debhelper (>= 9), dh-exec, libdevmapper-dev, libklibc-dev, libselinux1-dev, quilt (>= 0.40), autotools-dev Vcs-git: git://git.debian.org/git/users/derevko-guest/dmraid.git Vcs-Browser: http://git.debian.org/?p=users/derevko-guest/dmraid.git Homepage: http://people.redhat.com/~heinzm/sw/dmraid/ diff -u dmraid-1.0.0.rc16/debian/libdmraid-dev.install dmraid-1.0.0.rc16/debian/libdmraid-dev.install --- dmraid-1.0.0.rc16/debian/libdmraid-dev.install +++ dmraid-1.0.0.rc16/debian/libdmraid-dev.install @@ -1,2 +1,3 @@ -debian/standard/lib/*.a usr/lib +#!/usr/bin/dh-exec +debian/standard/lib/${DEB_HOST_MULTIARCH}/*.a usr/lib/${DEB_HOST_MULTIARCH} debian/standard/usr/include/dmraid usr/include diff -u dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16-udeb.install dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16-udeb.install --- dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16-udeb.install +++ dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16-udeb.install @@ -1 +1,2 @@ -debian/udeb/lib/*.so.* lib +#!/usr/bin/dh-exec +debian/udeb/lib/${DEB_HOST_MULTIARCH}/*.so.* lib/${DEB_HOST_MULTIARCH} diff -u dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16.install dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16.install --- dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16.install +++ dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16.install @@ -1 +1,2 @@ -debian/standard/lib/*.so.* lib +#!/usr/bin/dh-exec +debian/standard/lib/${DEB_HOST_MULTIARCH}/*.so.* lib/${DEB_HOST_MULTIARCH} diff -u dmraid-1.0.0.rc16/debian/rules dmraid-1.0.0.rc16/debian/rules --- dmraid-1.0.0.rc16/debian/rules +++ dmraid-1.0.0.rc16/debian/rules @@ -11,8 +11,7 @@ # These are used for cross-compiling and for saving the configure script # from having to guess our platform (since we know it already) -DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +include /usr/share/dpkg/architecture.mk ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) else @@ -23,7 +22,7 @@ buildroot := $(CURDIR)/debian/build flavours := standard udeb -common-config-flags := $(CROSS) --prefix=/usr --exec-prefix=/ +common-config-flags := $(CROSS) --prefix=/usr --exec-prefix=/ '--libdir=$${exec_prefix}/lib/$(DEB_HOST_MULTIARCH)' methods: methods-stamp methods-stamp: @@ -74,6 +73,7 @@ binary-arch: install dh_testdir dh_testroot + chmod +x debian/libdmraid*.install dh_install dh_installdirs dh_installudev --priority=85