reopen 787956
thanks
On 26.11.2016 19:42, Mark Brown wrote:
> On Sat, Nov 26, 2016 at 03:56:21PM +0100, Matthias Klose wrote:
>
>> Control: severity -1 serious
>
> This appears to be some random bug that's a user error and should've
> been closed after the initial discussion with the submitter (which I'm
> now doing). I'm not sure I can relate it to...
>
>> now that libgphobos, the gdc's D runtime library is built as a shared
>> library,
>> I'd like to use the still present multilib builds. There is currently a
>> fall-back to embed the library, but that doesn't sound as clean as using the
>> multilib packages. Dropping the multilib packages isn't yet an option from
>> my
>> point of view, because the buildds are not able to depend on other
>> architectures.
>
> ...any of this. Can you please file a new bug that's a bit more
> explicit about whatever it is that you're looking for here. As far as
> I can tell this might be a request for multilib packages but zlib
> already has multilib packages so I'm pretty confused.
>
>> I'm preparing a NMU for that.
>
> Please allow at least a little time for a response, I've no real idea
> what you're even asking for here.
well, I asked you in private before, without getting replies on all messages and
proposals.
This exactly is the correct issue, not "some random bug".
$ cat tst.c
#include <zlib.h>
$ gcc -m32 -c tst.c
In file included from tst.c:1:0:
/usr/include/zlib.h:34:19: fatal error: zconf.h: No such file or directory
#include "zconf.h"
^
compilation terminated.
attaching the diff for the proposed changes
diff -Nru zlib-1.2.8.dfsg/debian/changelog zlib-1.2.8.dfsg/debian/changelog
--- zlib-1.2.8.dfsg/debian/changelog 2014-08-16 23:48:57.000000000 +0200
+++ zlib-1.2.8.dfsg/debian/changelog 2016-11-26 15:57:08.000000000 +0100
@@ -1,3 +1,14 @@
+zlib (1:1.2.8.dfsg-2.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Install the zconf.h header file for the multilib packages. Closes: #787956.
+ * Use the target prefixed ar, available since binutils 2.26.
+ * Run dh_makeshlibs for the 64bit multilib library.
+ * Add ${misc:Depends} to zlib1g-dbg's dependencies.
+ * Support nobiarch build profile (Johannes Schauer). Closes: #709623.
+
+ -- Matthias Klose <[email protected]> Sat, 26 Nov 2016 15:57:08 +0100
+
zlib (1:1.2.8.dfsg-2) unstable; urgency=low
* Drop zlib-bin package as minizip has now been packaged separately,
diff -Nru zlib-1.2.8.dfsg/debian/control zlib-1.2.8.dfsg/debian/control
--- zlib-1.2.8.dfsg/debian/control 2014-08-16 16:13:26.000000000 +0200
+++ zlib-1.2.8.dfsg/debian/control 2016-11-26 15:57:08.000000000 +0100
@@ -2,9 +2,9 @@
Section: libs
Priority: optional
Maintainer: Mark Brown <[email protected]>
-Standards-Version: 3.9.4
+Standards-Version: 3.9.8
Homepage: http://zlib.net/
-Build-Depends: debhelper (>= 8.1.3~), binutils (>= 2.18.1~cvs20080103-2) [mips
mipsel], gcc-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390
sparc s390x], dpkg-dev (>= 1.16.1)
+Build-Depends: debhelper (>= 9), gcc-multilib [amd64 i386 kfreebsd-amd64 mips
mipsel powerpc ppc64 s390 sparc s390x] <!nobiarch>, dpkg-dev (>= 1.16.1)
Package: zlib1g
Architecture: any
@@ -35,7 +35,7 @@
Section: debug
Priority: extra
Architecture: any
-Depends: zlib1g (= ${binary:Version})
+Depends: zlib1g (= ${binary:Version}), ${misc:Depends}
Provides: libz-dbg
Description: compression library - development
zlib is a library implementing the deflate compression method found
@@ -56,6 +56,7 @@
Architecture: sparc s390 i386 powerpc mips mipsel
Depends: ${shlibs:Depends}, ${misc:Depends}
Replaces: amd64-libs (<< 1.4)
+Build-Profiles: <!nobiarch>
Description: compression library - 64 bit runtime
zlib is a library implementing the deflate compression method found
in gzip and PKZIP. This package includes a 64 bit version of the
@@ -67,6 +68,7 @@
Depends: lib64z1 (= ${binary:Version}), zlib1g-dev (= ${binary:Version}),
lib64c-dev, ${misc:Depends}
Replaces: amd64-libs-dev (<< 1.4)
Provides: lib64z-dev
+Build-Profiles: <!nobiarch>
Description: compression library - 64 bit development
zlib is a library implementing the deflate compression method found
in gzip and PKZIP. This package includes the development support
@@ -77,6 +79,7 @@
Conflicts: libc6-i386 (<= 2.9-18)
Depends: ${shlibs:Depends}, ${misc:Depends}
Replaces: ia32-libs (<< 1.5)
+Build-Profiles: <!nobiarch>
Description: compression library - 32 bit runtime
zlib is a library implementing the deflate compression method found
in gzip and PKZIP. This package includes a 32 bit version of the
@@ -89,6 +92,7 @@
Depends: lib32z1 (= ${binary:Version}), zlib1g-dev (= ${binary:Version}),
lib32c-dev, ${misc:Depends}
Provides: lib32z-dev
Replaces: ia32-libs-dev (<< 1.5)
+Build-Profiles: <!nobiarch>
Description: compression library - 32 bit development
zlib is a library implementing the deflate compression method found
in gzip and PKZIP. This package includes the development support
@@ -97,6 +101,7 @@
Package: libn32z1
Architecture: mips mipsel
Depends: ${shlibs:Depends}, ${misc:Depends}
+Build-Profiles: <!nobiarch>
Description: compression library - n32 runtime
zlib is a library implementing the deflate compression method found
in gzip and PKZIP. This package includes a n32 version of the shared
@@ -107,6 +112,7 @@
Architecture: mips mipsel
Depends: libn32z1 (= ${binary:Version}), zlib1g-dev (= ${binary:Version}),
libn32c-dev, ${misc:Depends}
Provides: libn32z-dev
+Build-Profiles: <!nobiarch>
Description: compression library - n32 development
zlib is a library implementing the deflate compression method found
in gzip and PKZIP. This package includes the development support
diff -Nru zlib-1.2.8.dfsg/debian/rules zlib-1.2.8.dfsg/debian/rules
--- zlib-1.2.8.dfsg/debian/rules 2014-08-16 16:13:56.000000000 +0200
+++ zlib-1.2.8.dfsg/debian/rules 2016-11-26 15:57:08.000000000 +0100
@@ -17,22 +17,12 @@
DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_GNU_OS)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+export DEB_CFLAGS_MAINT_STRIP = -O2
+export DEB_CFLAGS_MAINT_APPEND = -O3
CFLAGS = `dpkg-buildflags --get CFLAGS` `dpkg-buildflags --get CPPFLAGS` -Wall
-D_REENTRANT
LDFLAGS = `dpkg-buildflags --get LDFLAGS`
-# binutils doesn't supply the prefixed version normally like GCC does so
-# we can't just unconditionally use DEB_HOST_GNU_TYPE-ar
-ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
- AR=ar
-else
- AR=$(DEB_HOST_GNU_TYPE)-ar
-endif
-
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
- CFLAGS += -O0
-else
- CFLAGS += -O3
-endif
+AR=$(DEB_HOST_GNU_TYPE)-ar
32-ARCHS=amd64 ppc64 kfreebsd-amd64 s390x
64-ARCHS=s390 sparc i386 powerpc mips mipsel
@@ -69,6 +59,11 @@
mn32=-mabi=n32
endif
+ifneq (,$(findstring nobiarch,$(DEB_BUILD_PROFILES)))
+override EXTRA_BUILD=
+override EXTRA_INSTALL=
+endif
+
UNALIGNED_ARCHS=i386 amd64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 lpia
ifneq (,$(findstring $(DEB_HOST_ARCH), $(UNALIGNED_ARCHS)))
CFLAGS+=-DUNALIGNED_OK
@@ -81,7 +76,7 @@
if [ ! -f Makefile.stash ]; then cp Makefile Makefile.stash ; fi
- AR=$(AR) CC="$(DEB_HOST_GNU_TYPE)-gcc" CFLAGS="$(CFLAGS)"
LDFLAGS="$(LDFLAGS)" uname=GNU ./configure --shared --prefix=/usr
--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
+ AR="$(DEB_HOST_GNU_TYPE)-ar" CC="$(DEB_HOST_GNU_TYPE)-gcc"
CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" uname=GNU ./configure --shared
--prefix=/usr --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
touch $@
@@ -90,7 +85,7 @@
mkdir -p debian/64
cp -r $(COPYLIST) debian/64
- cd debian/64 && AR=$(AR) CC="$(DEB_HOST_GNU_TYPE)-gcc $(m64)" \
+ cd debian/64 && AR="$(DEB_HOST_GNU_TYPE)-ar"
CC="$(DEB_HOST_GNU_TYPE)-gcc $(m64)" \
CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
uname=GNU ./configure --shared --prefix=/usr
--libdir=\$${prefix}/usr/lib64
touch $@
@@ -100,7 +95,7 @@
mkdir -p debian/32
cp -r $(COPYLIST) debian/32
- cd debian/32 && AR=$(AR) CC="$(DEB_HOST_GNU_TYPE)-gcc $(m32)" \
+ cd debian/32 && AR="$(DEB_HOST_GNU_TYPE)-ar"
CC="$(DEB_HOST_GNU_TYPE)-gcc $(m32)" \
CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
uname=GNU ./configure --shared --prefix=/usr
--libdir=\$${prefix}/usr/lib32
touch $@
@@ -110,11 +105,13 @@
mkdir -p debian/n32
cp -r $(COPYLIST) debian/n32
- cd debian/n32 && AR=$(AR) CC="$(DEB_HOST_GNU_TYPE)-gcc $(mn32)" \
+ cd debian/n32 && AR="$(DEB_HOST_GNU_TYPE)-ar"
CC="$(DEB_HOST_GNU_TYPE)-gcc $(mn32)" \
CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
uname=GNU ./configure --shared --prefix=/usr
--libdir=\$${prefix}/usr/lib32
touch $@
+build-arch: build
+build-indep: build
build: build-stamp $(EXTRA_BUILD)
build-stamp: configure-stamp
dh_testdir
@@ -188,6 +185,30 @@
dh_installdocs -s
dh_installexamples -s
dh_install -s --sourcedir=debian/tmp
+ifneq (,$(m32))
+ ifeq ($(DEB_HOST_ARCH),amd64)
+ mkdir -p debian/lib32z1-dev/usr/include/i386-linux-gnu
+ cp debian/32/zconf.h debian/lib32z1-dev/usr/include/i386-linux-gnu/.
+ else ifeq ($(DEB_HOST_ARCH),ppc64)
+ mkdir -p debian/lib32z1-dev/usr/include/powerpc-linux-gnu
+ cp debian/32/zconf.h debian/lib32z1-dev/usr/include/powerpc-linux-gnu/.
+ else ifeq ($(DEB_HOST_ARCH),s390x)
+ mkdir -p debian/lib32z1-dev/usr/include/s390-linux-gnu
+ cp debian/32/zconf.h debian/lib32z1-dev/usr/include/s390-linux-gnu/.
+ endif
+endif
+ifneq (,$(m64))
+ ifeq ($(DEB_HOST_ARCH),i386)
+ mkdir -p debian/lib64z1-dev/usr/include/x86_64-linux-gnu
+ cp debian/64/zconf.h debian/lib64z1-dev/usr/include/x86_64-linux-gnu/.
+ else ifeq ($(DEB_HOST_ARCH),powerpc)
+ mkdir -p debian/lib64z1-dev/usr/include/powerpc64-linux-gnu
+ cp debian/64/zconf.h
debian/lib64z1-dev/usr/include/powerpc64-linux-gnu/.
+ else ifeq ($(DEB_HOST_ARCH),s390)
+ mkdir -p debian/lib64z1-dev/usr/include/s390x-linux-gnu
+ cp debian/64/zconf.h debian/lib64z1-dev/usr/include/s390x-linux-gnu/.
+ endif
+endif
dh_installman -s
dh_lintian -s
dh_link -s
@@ -198,11 +219,9 @@
ifneq (,$(findstring $(DEB_HOST_ARCH), $(32-ARCHS)))
dh_makeshlibs -plib32z1 -V"lib32z1 (>= 1:1.2.3.3.dfsg-1)"
endif
-ifneq (,$(findstring $(DEB_HOST_ARCH), $(32-ARCHS)))
ifneq (,$(findstring $(DEB_HOST_ARCH), $(64-ARCHS)))
dh_makeshlibs -plib64z1 -V"lib64z1 (>= 1:1.2.3.3.dfsg-1)"
endif
-endif
ifneq (,$(findstring $(DEB_HOST_ARCH), $(N32-ARCHS)))
dh_makeshlibs -plibn32z1 -V"libn32z1 (>= 1:1.2.3.3.dfsg-1)"
endif