error when patching cyrus-imapd-2.3.11 port
David Newman
dnewman at networktest.com
Sun Mar 30 09:08:50 PDT 2008
Greetings. I'm building a cyrus-imapd 2.3.11 server from ports on
FreeBSD 7.0/i386. I'm also using these two University of Athens patches:
http://email.uoa.gr/download/cyrus/cyrus-imapd-2.3.11/cyrus-imapd-2.3.11-autocreate-0.10-0.diff
http://email.uoa.gr/download/cyrus/cyrus-imapd-2.3.11/cyrus-imapd-2.3.11-autosieve-0.6.0.diff
The following steps produced the error output pasted below. Thanks in
advance for any help in debugging and fixing this.
cd /usr/ports/mail/cyrus-imapd23/
make patch
cd work/cyrus-imapd-2.3.11/
patch -p1 < ~/cyrus-imapd-2.3.11-autocreate-0.10-0.diff
patch -p1 < ~/cyrus-imapd-2.3.11-autosieve-0.6.0.diff
cd ../..
make
<snip>
cc -L/usr/lib -R/usr/lib -L/usr/local/lib -R/usr/local/lib
-rpath=/usr/lib:/usr/local/lib -o imapd ../master/service.o pushstats.o
imapd.o proxy.o imap_proxy.o index.o version.o mutex_fake.o libimap.a
../lib/libcyrus.a ../lib/libcyrus_min.a -L/usr/local/lib
-R/usr/local/lib -lsasl2 -lgssapi -lkrb5 -lasn1 -lroken -lcrypt
-lcom_err -lfl -L/usr/local/lib -R/usr/local/lib -ldb41 -lssl
-lcrypto -lmd ../com_err/et/libcom_err.a -lwrap
libimap.a(autosieve.o)(.text+0x598): In function `autoadd_sieve':
: undefined reference to `sieve_interp_alloc'
libimap.a(autosieve.o)(.text+0x77f): In function `autoadd_sieve':
: undefined reference to `sieve_register_redirect'
<around 30 more undefined reference errors>
*** Error code 1
Stop in /usr/ports/mail/cyrus-imapd23/work/cyrus-imapd-2.3.11/imap.
I emailed the author of the patches, and he replied:
"This is a bit of a known issue. The FreeBSD ports system changes the
Makefiles for their own build system, and the autocreate patch has to
change the makefiles since the sieve libraries are needed also in other
places (because of the autocreate functionality). If you follow the
normal patch procedure and you add the autocreate patch in the patches
that are in the ports build system, then the autocreate patch will not
be applied successfully since there will be conflicts in the makefiles
again. (The rules apply also to autosieve if i remember correctly).
Unfortunately i don't have a freeBSD system at hand to see the changed
that are needed (which are not backward compatible with the vanilla
cyrus distribution), and it is quite hard for us to produce different
patches for different operating systems. (that's why we have all the uoa
patches against the vanilla cyrus distribution)."
I'm reluctant to build from the cyrus-imapd sources as I don't know
enough about possible differences in file locations (and maybe code?)
between the two distributions. Ports would be much better for me,
provided I can correct the missing library reference.
Again, thanks for any help in debugging this.
dn
More information about the freebsd-questions
mailing list