View Full Version : [BUG] SVN 11820 breaks build on Ubuntu 7.04
The version of libpcre3-dev available on Ubuntu 7.04 does not contain all of the defines necessary to build without errors. Specifically PCRE_NEWLINE_ANY is not available (and possibly more). Copying pcre.h from 7.10 fixes the problem.
http://sourceforge.net/tracker/index.php?func=detail&aid=1902499&group_id=87054&atid=581838
Could you print the output of apt-cache show libpcre3-dev from your system. PCRE_NEWLINE_ANY was added in PCRE version 7.0 (12/06), and it looks like even dapper has 7.0+ http://packages.ubuntu.com/dapper/libpcre3-dev. The first few lines in /usr/include/pcre.h should show you what version it is.
It's the same version as on my 7.10 system:
$ apt-cache show libpcre3-dev | head
Package: libpcre3-dev
Priority: optional
Section: libdevel
Installed-Size: 680
Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Mark Baker <mark@mnb.org.uk>
Architecture: amd64
Source: pcre3
Version: 7.4-0ubuntu0.7.04.2
Depends: libc6-dev, libpcre3 (= 7.4-0ubuntu0.7.04.2), libpcrecpp0 (= 7.4-0ubuntu0.7.04.2)
The problem is they edit the header for compatibility. It sounds like this may be only on the amd64 version:
#ifndef _PCRE_H
#define _PCRE_H
/* The current PCRE version information. */
/* We lie here about the version number, in order not to confuse
existing build dependencies. All post-6.7 API additions have been
disabled as well. */
#define PCRE_MAJOR 6
#define PCRE_MINOR 7
#define PCRE_PRERELEASE
#define PCRE_DATE 2007-10-28
And then they ifdef out the important defines:
#if 0
/* Disabled to preserve API compatibility with version 6.7. */
#define PCRE_NEWLINE_ANY 0x00400000
#define PCRE_NEWLINE_ANYCRLF 0x00500000
#define PCRE_BSR_ANYCRLF 0x00800000
#define PCRE_BSR_UNICODE 0x01000000
#endif /* disabled for API compatibility */
Definitely looks like an amd64 issue to me, not a 7.04 compatibility issue. For now maybe you can try manually installing pcre from source.
It looks like this issue does affect 7.04 after all, not just 64-bit.
Ok, it should be fixed now.