> Simon Matter wrote: >>> Greetings. I'm building a 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 understanding what's wrong. >>> >>> 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 ../.. >> >> Shouldn't you ./configure here before going on to compile with make? > > This is from the FreeBSD ports collection, not compiled the CMU source. > > The canonical method for installing from ports is 'make && make install > && make clean'. Also, in the ports collection, 'configure' doesn't exist > at /usr/ports/mail/cyrus-imapd23/. > > The 'undefined reference' errors below suggest there's a missing > reference to whatever library defines the autoadd_sieve function. Well, seems you can't add patches just like that with ports then. What I can say is that the patches work. They patch some Makefiles and if your port uses it's own Makefiles then you have to patch them also "by hand". Simon > > Thanks in advance for clues on fixing this. > > dn > > > >> Simon >> >>> 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' >>> libimap.a(autosieve.o)(.text+0x80a): In function `autoadd_sieve': >>> : undefined reference to `sieve_register_discard' >>> libimap.a(autosieve.o)(.text+0x98a): In function `autoadd_sieve': >>> : undefined reference to `sieve_register_reject' >>> libimap.a(autosieve.o)(.text+0x9be): In function `autoadd_sieve': >>> : undefined reference to `sieve_register_fileinto' >>> libimap.a(autosieve.o)(.text+0xb14): In function `autoadd_sieve': >>> : undefined reference to `sieve_register_keep' >>> libimap.a(autosieve.o)(.text+0xb6b): In function `autoadd_sieve': >>> : undefined reference to `sieve_register_imapflags' >>> libimap.a(autosieve.o)(.text+0xc58): In function `autoadd_sieve': >>> : undefined reference to `sieve_register_size' >>> libimap.a(autosieve.o)(.text+0xcc5): In function `autoadd_sieve': >>> : undefined reference to `sieve_register_header' >>> libimap.a(autosieve.o)(.text+0xe58): In function `autoadd_sieve': >>> : undefined reference to `sieve_register_envelope' >>> libimap.a(autosieve.o)(.text+0xf83): In function `autoadd_sieve': >>> : undefined reference to `sieve_register_vacation' >>> libimap.a(autosieve.o)(.text+0xfef): In function `autoadd_sieve': >>> : undefined reference to `sieve_register_notify' >>> libimap.a(autosieve.o)(.text+0x1023): In function `autoadd_sieve': >>> : undefined reference to `sieve_register_parse_error' >>> libimap.a(autosieve.o)(.text+0x10a3): In function `autoadd_sieve': >>> : undefined reference to `sieve_script_parse' >>> libimap.a(autosieve.o)(.text+0x10ca): In function `autoadd_sieve': >>> : undefined reference to `sieve_interp_free' >>> libimap.a(autosieve.o)(.text+0x10d9): In function `autoadd_sieve': >>> : undefined reference to `sieve_generate_bytecode' >>> libimap.a(autosieve.o)(.text+0x10f7): In function `autoadd_sieve': >>> : undefined reference to `sieve_emit_bytecode' >>> libimap.a(autosieve.o)(.text+0x1104): In function `autoadd_sieve': >>> : undefined reference to `sieve_free_bytecode' >>> libimap.a(autosieve.o)(.text+0x110f): In function `autoadd_sieve': >>> : undefined reference to `sieve_script_free' >>> libimap.a(autosieve.o)(.text+0x111c): In function `autoadd_sieve': >>> : undefined reference to `sieve_interp_free' >>> libimap.a(autosieve.o)(.text+0x114b): In function `autoadd_sieve': >>> : undefined reference to `sieve_free_bytecode' >>> libimap.a(autosieve.o)(.text+0x1156): In function `autoadd_sieve': >>> : undefined reference to `sieve_script_free' >>> libimap.a(autosieve.o)(.text+0x11ae): In function `autoadd_sieve': >>> : undefined reference to `sieve_script_free' >>> *** Error code 1 >>> >>> Stop in /usr/ports/mail/cyrus-imapd23/work/cyrus-imapd-2.3.11/imap. >>> *** Error code 1 >>> >>> Stop in /usr/ports/mail/cyrus-imapd23/work/cyrus-imapd-2.3.11. >>> *** Error code 1 >>> >>> Stop in /usr/ports/mail/cyrus-imapd23. >>> *** Error code 1 >>> >>> Stop in /usr/ports/mail/cyrus-imapd23. >>> >>> Again, thanks for any help in debugging this. >>> >>> dn >>> >>> >>> >>> >>> ---- >>> Cyrus Home Page: http://cyrusimap.web.cmu.edu/ >>> Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki >>> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html >>> >> >> >> > > ---- > Cyrus Home Page: http://cyrusimap.web.cmu.edu/ > Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki > List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html > ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html