Re: cyradm perl error on Debian Testing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux