Your message dated Tue, 06 Oct 2009 23:34:43 +0000
with message-id <[email protected]>
and subject line Bug#492565: fixed in pcre3 7.8-3
has caused the Debian Bug report #492565,
regarding pcre3: long term mass bug filing for cross build support
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
492565: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=492565
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: pcre3
Version: 7.6
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: crossbuilt
This is a very similar bug to #492555 for the same reasons - pcre3 fails
to cross-build in a clean chroot because libpcre3.la is not explicitly
set in the LDADD of the binaries that use internal libraries built
against libpcre3.
This doesn't relate to Lenny, it is part of my ongoing mass bug filing
for cross-build support. I am gradually migrating the patches that I use
for Emdebian Lenny. pcre3 fails to cross-build without patches due to
an upstream bug in Makefile.am. A separate issue with how
pkg-config and libtool are handled in pcre3 means that the Debian
support also needs a tweak.
In line with the autotools-dev guidance, --host should not be passed
unless cross-building so the first part of the patch moves the --build
and --host instructions to a conditional, only passing --build for
native builds. The new conditional also implements the libtool fix to
ensure that the build looks for /usr/arm-linux-gnu/lib/libm.so instead
of /usr/lib/libm.so which would fail when cross-building (for ARM).
These changes have no effect on the Debian build, only the cross-build.
The attached patches are intended to be forwarded upstream but have been
implemented via dpatch because this is the simplest way to handle
upstream changes within Emdebian. pcre3 already includes some changes
outside the debian/ directory in the .diff.gz so implementing the
upstream change with dpatch will result in these new lintian warnings:
W: pcre3 source: patch-system-but-direct-changes-in-diff Makefile.in
W: pcre3 source: patch-system-but-direct-changes-in-diff aclocal.m4
W: pcre3 source: patch-system-but-direct-changes-in-diff config.sub
W: pcre3 source: patch-system-but-direct-changes-in-diff configure
W: pcre3 source: patch-system-but-direct-changes-in-diff configure.ac
W: pcre3 source: patch-system-but-direct-changes-in-diff
doc/pcre_version.3
W: pcre3 source: patch-system-but-direct-changes-in-diff doc/pcreapi.3
W: pcre3 source: patch-system-but-direct-changes-in-diff doc/pcregrep.1
W: pcre3 source: patch-system-but-direct-changes-in-diff ltmain.sh
W: pcre3 source: patch-system-but-direct-changes-in-diff pcre_compile.c
W: pcre3 source: patch-system-but-direct-changes-in-diff pcrecpp.cc
W: pcre3 source: patch-system-but-direct-changes-in-diff pcrecpp.h
W: pcre3 source: patch-system-but-direct-changes-in-diff pcreposix.h
W: pcre3 source: patch-system-but-direct-changes-in-diff pcretest.c
If the effect of the 10-emdebian-libs.dpatch file is implemented
upstream (or via a direct change in the .diff.gz) and you would like an
updated patch for debian/rules that does not implement dpatch, let me
know. The dpatch changes are as advised at:
http://matrixhasu.altervista.org/index.php?view=use_dpatch
You can see the history of pcre3 cross-builds here:
http://www.emdebian.org/buildd/history.php?pkg=pcre3
A typical change from the patch would be:
-pcrecpp_unittest_LDADD = libpcrecpp.la
+pcrecpp_unittest_LDADD = libpcrecpp.la libpcre.la
libpcrecpp.so itself needs libpcre.so and cross-building without the
libpcre.la linkage results in missing symbols (see previous cross-builds
in the history above).
This has no effect on the dependencies or NEEDED linkages in the final
binaries, it merely states explicitly what can be inferred from the
existing rules.
This is an awkward bug for Emdebian because it does not tend to show up
in a "dirty" build environment, only in a clean chroot build. Once the
Lenny freeze is over, I would appreciate it if you would include these
changes.
*** ../crossbuild.diff
--- pcre3-7.6.debian/debian/rules
+++ pcre3-7.6.emdebian/debian/rules
@@ -5,10 +5,17 @@
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
+include /usr/share/dpatch/dpatch.make
# 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)
+ifneq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) \
+ LDFLAGS="-L/usr/$(DEB_HOST_GNU_TYPE)/lib"
+else
+CROSS= --build $(DEB_BUILD_GNU_TYPE)
+endif
CFLAGS = -Wall -g
INSTALL = install
@@ -31,14 +38,14 @@
dh_testdir
# Add here commands to configure the package.
CC_FOR_BUILD=cc CFLAGS="$(CFLAGS)" ./configure \
- --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
+ $(CROSS) \
--prefix=/usr --mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--enable-utf8 --enable-unicode-properties
build: build-stamp
-build-stamp: config.status
+build-stamp: patch-stamp config.status
dh_testdir
# Add here commands to compile the package.
@@ -49,7 +56,7 @@
touch build-stamp
-clean: config.status
+clean: unpatch config.status
dh_testdir
dh_testroot
rm -f build-stamp
*** ../control.diff
--- pcre3-7.6.debian/debian/control
+++ pcre3-7.6.emdebian/debian/control
@@ -3,7 +3,7 @@
Priority: optional
Maintainer: Mark Baker <[email protected]>
Standards-Version: 3.7.3
-Build-Depends: debhelper (>= 5.0.22)
+Build-Depends: debhelper (>= 5.0.22), dpatch
Package: libpcre3
Section: libs
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.25-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
#! /bin/sh /usr/share/dpatch/dpatch-run
## 10-emdebian-libs.dpatch by Neil Williams <[email protected]>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix internal linkages inferred by LDADD
@DPATCH@
diff -urNad pcre3-7.6~/Makefile.am pcre3-7.6/Makefile.am
--- pcre3-7.6~/Makefile.am 2008-01-23 17:58:28.000000000 +0000
+++ pcre3-7.6/Makefile.am 2008-07-27 10:30:44.000000000 +0100
@@ -221,17 +221,17 @@
TESTS += pcrecpp_unittest
noinst_PROGRAMS += pcrecpp_unittest
pcrecpp_unittest_SOURCES = pcrecpp_unittest.cc
-pcrecpp_unittest_LDADD = libpcrecpp.la
+pcrecpp_unittest_LDADD = libpcrecpp.la libpcre.la
TESTS += pcre_scanner_unittest
noinst_PROGRAMS += pcre_scanner_unittest
pcre_scanner_unittest_SOURCES = pcre_scanner_unittest.cc
-pcre_scanner_unittest_LDADD = libpcrecpp.la
+pcre_scanner_unittest_LDADD = libpcrecpp.la libpcre.la
TESTS += pcre_stringpiece_unittest
noinst_PROGRAMS += pcre_stringpiece_unittest
pcre_stringpiece_unittest_SOURCES = pcre_stringpiece_unittest.cc
-pcre_stringpiece_unittest_LDADD = libpcrecpp.la
+pcre_stringpiece_unittest_LDADD = libpcrecpp.la libpcre.la
endif # WITH_PCRE_CPP
@@ -245,13 +245,13 @@
EXTRA_DIST += RunTest.bat
bin_PROGRAMS += pcretest
pcretest_SOURCES = pcretest.c
-pcretest_LDADD = libpcreposix.la
+pcretest_LDADD = libpcreposix.la libpcre.la
TESTS += RunGrepTest
dist_noinst_SCRIPTS += RunGrepTest
bin_PROGRAMS += pcregrep
pcregrep_SOURCES = pcregrep.c
-pcregrep_LDADD = libpcreposix.la
+pcregrep_LDADD = libpcreposix.la libpcre.la
EXTRA_DIST += \
testdata/grepinput \
diff -urNad pcre3-7.6~/Makefile.in pcre3-7.6/Makefile.in
--- pcre3-7.6~/Makefile.in 2008-07-27 09:56:17.000000000 +0100
+++ pcre3-7.6/Makefile.in 2008-07-27 10:31:18.000000000 +0100
@@ -500,15 +500,15 @@
@with_pcre_cpp_t...@libpcrecpp_la_ldflags = $(EXTRA_LIBPCRECPP_LDFLAGS)
@with_pcre_cpp_t...@libpcrecpp_la_libadd = libpcre.la
@with_pcre_cpp_t...@pcrecpp_unittest_sources = pcrecpp_unittest.cc
-...@with_pcre_cpp_true@pcrecpp_unittest_LDADD = libpcrecpp.la
+...@with_pcre_cpp_true@pcrecpp_unittest_LDADD = libpcrecpp.la libpcre.la
@with_pcre_cpp_t...@pcre_scanner_unittest_sources = pcre_scanner_unittest.cc
-...@with_pcre_cpp_true@pcre_scanner_unittest_LDADD = libpcrecpp.la
+...@with_pcre_cpp_true@pcre_scanner_unittest_LDADD = libpcrecpp.la libpcre.la
@with_pcre_cpp_t...@pcre_stringpiece_unittest_sources = pcre_stringpiece_unittest.cc
-...@with_pcre_cpp_true@pcre_stringpiece_unittest_LDADD = libpcrecpp.la
+...@with_pcre_cpp_true@pcre_stringpiece_unittest_LDADD = libpcrecpp.la libpcre.la
pcretest_SOURCES = pcretest.c
-pcretest_LDADD = libpcreposix.la
+pcretest_LDADD = libpcreposix.la libpcre.la
pcregrep_SOURCES = pcregrep.c
-pcregrep_LDADD = libpcreposix.la
+pcregrep_LDADD = libpcreposix.la libpcre.la
# A PCRE user submitted the following addition, saying that it "will allow
# anyone using the 'mingw32' compiler to simply type 'make pcre.dll' and get a
10-emdebian-libs
--- End Message ---
--- Begin Message ---
Source: pcre3
Source-Version: 7.8-3
We believe that the bug you reported is fixed in the latest version of
pcre3, which is due to be installed in the Debian FTP archive:
libpcre3-dbg_7.8-3_i386.deb
to pool/main/p/pcre3/libpcre3-dbg_7.8-3_i386.deb
libpcre3-dev_7.8-3_i386.deb
to pool/main/p/pcre3/libpcre3-dev_7.8-3_i386.deb
libpcre3-udeb_7.8-3_i386.udeb
to pool/main/p/pcre3/libpcre3-udeb_7.8-3_i386.udeb
libpcre3_7.8-3_i386.deb
to pool/main/p/pcre3/libpcre3_7.8-3_i386.deb
libpcrecpp0_7.8-3_i386.deb
to pool/main/p/pcre3/libpcrecpp0_7.8-3_i386.deb
pcre3_7.8-3.diff.gz
to pool/main/p/pcre3/pcre3_7.8-3.diff.gz
pcre3_7.8-3.dsc
to pool/main/p/pcre3/pcre3_7.8-3.dsc
pcregrep_7.8-3_i386.deb
to pool/main/p/pcre3/pcregrep_7.8-3_i386.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Mark Baker <[email protected]> (supplier of updated pcre3 package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Wed, 07 Oct 2009 00:05:25 +0100
Source: pcre3
Binary: libpcre3 libpcre3-udeb libpcrecpp0 libpcre3-dev libpcre3-dbg pcregrep
Architecture: source i386
Version: 7.8-3
Distribution: unstable
Urgency: low
Maintainer: Mark Baker <[email protected]>
Changed-By: Mark Baker <[email protected]>
Description:
libpcre3 - Perl 5 Compatible Regular Expression Library - runtime files
libpcre3-dbg - Perl 5 Compatible Regular Expression Library - debug symbols
libpcre3-dev - Perl 5 Compatible Regular Expression Library - development files
libpcre3-udeb - Perl 5 Compatible Regular Expression Library - runtime files
(ude (udeb)
libpcrecpp0 - Perl 5 Compatible Regular Expression Library - C++ runtime files
pcregrep - grep utility that uses perl 5 compatible regexes.
Closes: 338658 350468 492565 549608
Changes:
pcre3 (7.8-3) unstable; urgency=low
.
* debian/rules: Install main library in /lib (Closes: 350468, #549608)
* debian/pcre-config.1: Minor formatting changes (thanks Alexander
Peslyak) (Closes: 338658)
* Makefile.am,Makefile.in: Added libpcre.la to LDADD for various things;
apparently this will make it cross-build successfully (Closes: 492565)
* debian/control: Added ${misc:Depends} to dependencies for all the
binary packages
* debian/rules: Don't ignore errors from make distclean
Checksums-Sha1:
27cd50f8644513d9b47a4fc0542dd78feeff7a1b 986 pcre3_7.8-3.dsc
f7ab5849424775a86bf8bf03c7e77c063bcbdc71 16375 pcre3_7.8-3.diff.gz
537eb736a6c2a5ef4bb4b493900af8a545083872 213592 libpcre3_7.8-3_i386.deb
0d03a8a625cc2e3de1fcdcd249b42fb3bff3622b 71052 libpcre3-udeb_7.8-3_i386.udeb
5f243f0109510a2a7fc2f363613d34e4054a52f9 97876 libpcrecpp0_7.8-3_i386.deb
07db6cf53280764ec5c4d30f6a8bad0bf50fa2cc 258042 libpcre3-dev_7.8-3_i386.deb
1d4b27639f6cd8be8200f20a2d13e5a687d07af7 345448 libpcre3-dbg_7.8-3_i386.deb
3ddb0d46a07fdbcee7ced1ab1494e84ec5f0bd34 20784 pcregrep_7.8-3_i386.deb
Checksums-Sha256:
b35e7f21dccc15289f91cc25c17ea19240a5aeb8486fce70824963772ec3f4ad 986
pcre3_7.8-3.dsc
fd0602e1ba8ab47a8fc1fea0871d37f7c987cff6399efb1bfffb3b7fa5d5b1c9 16375
pcre3_7.8-3.diff.gz
739859b6235c4236c1b57d6b3a91ec53029420bdff86741bc0af0d2e0d27d6db 213592
libpcre3_7.8-3_i386.deb
a6bb2a39c51912cfb71619a5b959035aa3b6dd42d60b86532036d9cb4ea899a2 71052
libpcre3-udeb_7.8-3_i386.udeb
01bdbaf6a0ceb6e3a785a5b8afecfde86ef59e9b872878a8f1fcbd87293ba501 97876
libpcrecpp0_7.8-3_i386.deb
4bd3f0a96227b27890bb7827d1ddeb1beeb5c2f99545e03570ab5ca665dfb52d 258042
libpcre3-dev_7.8-3_i386.deb
8b3371973cdfb51656667546299b589ae270e848544abc7cec47f73902fcf57e 345448
libpcre3-dbg_7.8-3_i386.deb
c76f4a8e22ef8b02bdae2e4eb15d8c4c5dc5dbcff1fbc53a11e4fc1c8ef94a87 20784
pcregrep_7.8-3_i386.deb
Files:
72bfbfd8aa4acb3ac9c005cf983f39af 986 libs optional pcre3_7.8-3.dsc
4805642dcb4e3989be43aa044f97efd7 16375 libs optional pcre3_7.8-3.diff.gz
5a8027c76727754426001531dd8766b3 213592 libs important libpcre3_7.8-3_i386.deb
73138f8294d8780aca7168b7188ee8aa 71052 debian-installer important
libpcre3-udeb_7.8-3_i386.udeb
2a5303a67887a326bbf2f6719b7e49f0 97876 libs optional libpcrecpp0_7.8-3_i386.deb
0ba1c8ed4d4a38c97cb4d6b677de9e6c 258042 libdevel optional
libpcre3-dev_7.8-3_i386.deb
eb3f6336c0bd084c3ac3c11164684f5c 345448 libdevel optional
libpcre3-dbg_7.8-3_i386.deb
50f7aaaaad0cbbff1a2cceae21ec2d9d 20784 utils optional pcregrep_7.8-3_i386.deb
Package-Type: udeb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkrLzkEACgkQLk+GuosNQvmm2QCdFJ7rWpxLAC/r7bO26OP4m3XT
eywAniqV2oXd9dwcFvxegZlX8vIVU5kY
=wMJx
-----END PGP SIGNATURE-----
--- End Message ---