Hi,

On Thu, 24 Feb 2022, at 2:00 AM, Infraestructura TIC - UNNOBA wrote:
> Yes, both packages are installed:
>
> # dpkg -l | grep libpcre
> ii  libpcre2-8-0:amd64 10.39-3                               
> amd64        New Perl Compatible Regular Expression Library- 8 bit 
> runtime files
> ii  libpcre3:amd64 2:8.39-13                             amd64        
> Old Perl 5 Compatible Regular Expression Library - runtime files

What happens when you build and run cyrus with only one of these pcre libraries 
installed, but not both?

What about only the other?

>>> undefined symbol: pcreposix_regexec at 

This is probably an incompatibility between the old "libpcre3" package and the 
new "libpcre2" package.

If you're seeing "undefined symbol: pcreposix_regexec", this almost certainly 
means that (part of) your Cyrus was built using the libpcre3 headers, but at 
runtime is loading a library that does not provide the renamed function those 
headers expect.

The libpcre3 package on Debian has a very necessary modification that renames 
"regexec" to "pcreposix_regexec", to prevent it clashing with the 
identically-named but incompatible "regexec" from glibc, and the corresponding 
header defines a macro such that if you're using the pcre header (not the libc 
one) and call "regexec", your code will find the pcre version of the function 
(not the libc one).

I don't know if libpcre2 still requires this hack.  I guess it might not, and 
then doesn't include it.

There is an open issue regarding the state of Cyrus's support for the new 
libpcre2 library: https://github.com/cyrusimap/cyrus-imapd/issues/3861 This 
issue is about a single test failing when using libpcre2, but note that _there 
are no tests for cyradm_, so any problems with cyradm would not even be found 
by the tests.  I suggest you join the discussion there with this report.  There 
is a link to the same issue in the Debian bug tracker; you may want to join 
that discussion too.

Cyrus 3.4 has no declared support for libpcre2.  If you want to actually run 
Cyrus, please use the older libpcre3.  I believe the Debian Testing package 
might be linking against libpcre2 deliberately to solicit reports of things 
breaking, so please report it!

Cheers,

ellie

------------------------------------------
Cyrus: Info
Permalink: 
https://cyrus.topicbox.com/groups/info/T499290c4eacdba28-M6e83dd7fa9937149db111dfb
Delivery options: https://cyrus.topicbox.com/groups/info/subscription

Reply via email to