Hi, the dovecot-sieve plugin from the hg repository (http://hg.dovecot.org/dovecot-sieve-1.0/) does not build against current dovecot-1.0 repository. /bin/bash ../../libtool --tag=CC --mode=link gcc -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -DENABLE_REGEX -o sievec sievec.o map.o imparse.o libsieve.la /usr/src/dovecot-1.0/src/lib/liblib.a gcc -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -DENABLE_REGEX -o sievec sievec.o map.o imparse.o /.libs/libsieve.a /usr/src/dovecot-1.0/src/lib/liblib.a /.libs/libsieve.a(script.o): In function `sieve_script_parse': /usr/src/dovecot-sieve-1.0/src/libsieve/script.c:140: undefined reference to `yylineno' /.libs/libsieve.a(sieve.o): In function `sieveerror': /usr/src/dovecot-sieve-1.0/src/libsieve/sieve.y:568: undefined reference to `yylineno' /.libs/libsieve.a(sieve.o): In function `sieveparse': /usr/src/dovecot-sieve-1.0/src/libsieve/sieve.c:1644: undefined reference to `sievelex' /.libs/libsieve.a(sieve.o): In function `sieve_parse': /usr/src/dovecot-sieve-1.0/src/libsieve/sieve.y:551: undefined reference to `yyrestart' /.libs/libsieve.a(addr.o): In function `addrparse': /usr/src/dovecot-sieve-1.0/src/libsieve/addr.c:1289: undefined reference to `addrlex' collect2: ld returned 1 exit status make[3]: *** [sievec] Error 1 make[3]: Leaving directory `/usr/src/dovecot-sieve-1.0/src/libsieve' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/src/dovecot-sieve-1.0/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/src/dovecot-sieve-1.0' make: *** [all] Error 2 dovecot-sieve-1.0.1.tar.gz builds fine. 1.0.1 is from January 2007, the last changes in the hg repository are three months ago, but none of them look like they would be causing this issue. Also there is no r_1_0_1 tag. It looks to me like 1.0.1 is something quite different to the hg-repository, right? Does the latter compile against anything at the moment? Thanks, Bernhard
On Tue, 2007-05-29 at 13:23 +0200, Bernhard Schmidt wrote:> Hi, > > the dovecot-sieve plugin from the hg repository > (http://hg.dovecot.org/dovecot-sieve-1.0/) does not build against > current dovecot-1.0 repository...> /.libs/libsieve.a(script.o): In function `sieve_script_parse': > /usr/src/dovecot-sieve-1.0/src/libsieve/script.c:140: undefined > reference to `yylineno'It builds with me, so I guess the problem has something to do with the software you're using to build it. Perhaps you're using some other lex than flex?> dovecot-sieve-1.0.1.tar.gz builds fine.That's because it contains generated .c files for yacc/lex files so you don't need to build them yourself. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20070604/d8d065dc/attachment-0002.bin>
Timo Sirainen schrieb: Hi,>> the dovecot-sieve plugin from the hg repository >> (http://hg.dovecot.org/dovecot-sieve-1.0/) does not build against >> current dovecot-1.0 repository. > .. >> /.libs/libsieve.a(script.o): In function `sieve_script_parse': >> /usr/src/dovecot-sieve-1.0/src/libsieve/script.c:140: undefined >> reference to `yylineno' > > It builds with me, so I guess the problem has something to do with the > software you're using to build it. Perhaps you're using some other lex > than flex?Yup that's it, no flex installed, and no lex either :-( Works fine now (after removing the whole working directory and cloning it again from hg, "make distclean; sh autogen.sh; ./configure; make" did not solve the problem), maybe ./configure should complain if flex is not found? Thanks and sorry for the noise, Bernhard