Failure making cyrus-imapd-3.0.5 on CentOS 7

David J. Weller-Fahy at
Thu Apr 19 00:51:57 EDT 2018

* Jason L Tibbitts III <tibbs at> [2018-04-17 12:58 -0400]:
>>>>>> "DJW" == David J Weller-Fahy < at> writes:
>DJW> Greetings again, I've made it a bit further in my attempt to
>DJW> install cyrus-imapd, but am getting failures when executing `make`.
>DJW> The failure is shown below.
>You should look at what the Fedora specfile does to build the package.
> ...
>Look down at what is currently line 288 for how I specifically handle
>the perl/annotator directory.

Thank you!  I've never dealt with RPM files before (always been on
Debian/Arch/Gentoo/Slack variants before), so it never occurred to me to
look for a specfile or other arcana.  Based on that file I made some
changes (removed xapian/jmap, allowed clamav, etc) and ended up with the
attached patch to your specfile.

While this is probably more complicated than needed, it accomplishes
what I needed, and I figured it might be useful to you as well.

Please let me know if you see any glaring problems with the patch, now
on to my next task: actually installing and configuring cyrus-imapd!

dave [ please don't CC me ]
-------------- next part --------------
diff --git a/cyrus-imapd.spec b/cyrus-imapd.spec
index af2d3cf..4709a69 100644
--- a/cyrus-imapd.spec
+++ b/cyrus-imapd.spec
@@ -8,6 +8,8 @@
 # Cassandane run by default.  '--without cassandane' disables.
 %bcond_without cassandane
+%bcond_without xapian
+%bcond_without jmap
 Name: cyrus-imapd
 Version: 3.0.5
@@ -70,6 +72,7 @@ Source17: cyrus-imapd.service
 Source18: cyrus-imapd-init.service
 Source19: cyrus-imapd.tmpfiles.conf
+%if %{with cassandane}
 # Source files for running the Cassandane test suite at build time.
 Source80:{scmt %cocas}.tar.gz
@@ -95,6 +98,7 @@ Source91: patch-cassandane-no-syslog
 # Tell the annotator script to run as the current user/group
 # Upstream ticket
 Source92: patch-cassandane-fix-annotator
 BuildRequires: autoconf automake bison flex gcc gcc-c++ git groff libtool
 BuildRequires: pkgconfig systemd transfig
@@ -106,7 +110,10 @@ BuildRequires: CUnit-devel clamav-devel cyrus-sasl-devel glib2-devel
 BuildRequires: jansson-devel krb5-devel libical-devel libnghttp2-devel
 BuildRequires: libxml2-devel mariadb-devel net-snmp-devel openldap-devel
 BuildRequires: openssl-devel postgresql-devel shapelib-devel sqlite-devel
+BuildRequires: libicu-devel
+%if %{with xapian}
 BuildRequires: xapian-core-devel
 # Miscellaneous modules needed for 'make check' to function:
 BuildRequires: cyrus-sasl-plain cyrus-sasl-md5
@@ -134,7 +141,11 @@ Requires(postun): /sbin/ldconfig
 Requires: %name-utils = %version-%release
+%if 0%{?_fedora}
 Recommends: %name-vzic = %version-%release
+Requires: %name-vzic = %version-%release
 Requires: file libdb-utils sscg
 Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
@@ -221,6 +232,7 @@ echo %version > VERSION
 # Install the Fedora-specific documentation file
 install -m 644 %SOURCE16 doc/
+%if %{with cassandane}
 # Unpack and prepare cassandane
 tar xf %SOURCE80
 ln -s cassandane-%cocas cassandane
@@ -239,6 +251,7 @@ sed -i \
 # This is the test suite, which doesn't build much but does verify its dependencies.
@@ -278,13 +291,18 @@ autoreconf -vi
     --enable-calalarmd \
     --enable-http \
     --enable-idled \
+%if %{with xapian}
+  %if %{with jmap}
     --enable-jmap \
+  %endif
     --enable-murder \
     --enable-nntp \
     --enable-replication \
     --enable-unit-tests \
+%if %{with xapian}
     --enable-xapian \
-    --without-clamav \
 # The configure script will set up the Perl makefiles, but not in the way
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: not available
URL: <>

More information about the Info-cyrus mailing list