Bug 1461669 - cyrus-imapd-3.0.1-5.fc27 FTBFS: managesieve.so: undefined symbol: sqlite3_column_text
Summary: cyrus-imapd-3.0.1-5.fc27 FTBFS: managesieve.so: undefined symbol: sqlite3_col...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: cyrus-imapd
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jason Tibbitts
QA Contact: Fedora Extras Quality Assurance
URL: https://apps.fedoraproject.org/kosche...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-06-15 06:27 UTC by Petr Pisar
Modified: 2017-06-16 06:32 UTC (History)
6 users (show)

Fixed In Version: cyrus-imapd-3.0.1-6.fc27
Clone Of:
Environment:
Last Closed: 2017-06-16 01:35:49 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Petr Pisar 2017-06-15 06:27:24 UTC
cyrus-imapd-3.0.1-5.fc27 fails to build in F27 on all architectures except s309x because a test fails:

There was 1 failure:
1) test_badscript_timsieved(Cassandane::Cyrus::Sieve)
 Can't load '/builddir/build/BUILDROOT/cyrus-imapd-3.0.1-5.fc27.x86_64/usr/lib64/perl5/vendor_perl/auto/Cyrus/SIEVE/managesieve/managesieve.so' for module Cyrus::SIEVE::managesieve: /builddir/build/BUILDROOT/cyrus-imapd-3.0.1-5.fc27.x86_64/usr/lib64/perl5/vendor_perl/auto/Cyrus/SIEVE/managesieve/managesieve.so: undefined symbol: sqlite3_column_text at /usr/lib64/perl5/DynaLoader.pm line 193.
� at /builddir/build/BUILDROOT/cyrus-imapd-3.0.1-5.fc27.x86_64/usr/bin/installsieve line 64.
Compilation failed in require at /builddir/build/BUILDROOT/cyrus-imapd-3.0.1-5.fc27.x86_64/usr/bin/installsieve line 64.
BEGIN failed--compilation aborted at /builddir/build/BUILDROOT/cyrus-imapd-3.0.1-5.fc27.x86_64/usr/bin/installsieve line 64.

This could be triggered by removing hardening suppression in Fedora's perl-5.26.0. It probably means a compile unit for managesieve.so refers to sqlite3_column_text symbol that does not exist anywhere (maybe removed from the sqlite library).

Comment 1 Jason Tibbitts 2017-06-15 15:38:53 UTC
Ugh, this of course was working fine before the perl rebuild.

I'm not sure I understand what you mean by "removing hardening suppression".  Are you saying that you should not use hardening flags when building compiled code in Perl modules?  Perl XS stuff is not something I have a lot of experience with so I will probably need a bit of guidance here.

Comment 2 Jason Tibbitts 2017-06-16 01:35:49 UTC
So, looking at the Perl spec I noticed references to https://bugzilla.redhat.com/show_bug.cgi?id=1238804 which I suppose explains your somewhat cryptic comment about removing hardening suppression.

I guess when the compiler flags used by Perl recently changed to come in line with what the distro uses, something related to implicit linking also changed.  And if you tweak the relevant Makefile.PL to add -lsqlite3 then that error goes away (and is replaced by another one related to Postgres).

In any case, this is fixed in rawhide.


Note You need to log in before you can comment on or make changes to this bug.