On 04/24/2015 10:00 PM, Michael Grimm wrote:
Hi —
- I'm trying to compile a recent hg dovecot version (008632bdfd2c) at a FBSD10-STABLE system without success:
libtool: compile: cc -DHAVE_CONFIG_H -I. -I../.. -I../../src/lib -I../../src/lib-test -I/usr/local/include -DUDHRDIR=\"../../src/lib-fts\" -DDATADIR=\"/usr/local/share/dovecot\" -DTEST_STOPWORDS_DIR=\"../../src/lib-fts\" -I/usr/local/include -std=gnu99 -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -Wno-duplicate-decl-specifier -Wstrict-aliasing=2 -I/usr/local/include -MT fts-tokenizer-generic.lo -MD -MP -MF .deps/fts-tokenizer-generic.Tpo -c fts-tokenizer-generic.c -fPIC -DPIC -o .libs/fts-tokenizer-generic.o fts-tokenizer-generic.c:111:18: error: use of undeclared identifier 'White_Space' if (uint32_find(White_Space, N_ELEMENTS(White_Space), c, &idx)) ^ fts-tokenizer-generic.c:113:18: error: use of undeclared identifier 'Dash' if (uint32_find(Dash, N_ELEMENTS(Dash), c, &idx)) ^ […]
fts-tokenizer-generic.c:212:18: error: use of undeclared identifier 'MidLetter' if (uint32_find(MidLetter, N_ELEMENTS(MidLetter), c, &idx)) ^ fts-tokenizer-generic.c:214:18: error: use of undeclared identifier 'MidNum' if (uint32_find(MidNum, N_ELEMENTS(MidNum), c, &idx)) ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. Makefile:591: recipe for target 'fts-tokenizer-generic.lo' failed gmake[4]: *** [fts-tokenizer-generic.lo] Error 1 gmake[4]: Leaving directory '/usr/local/etc/dovecot/SOURCE/dovecot-2.2/src/lib-fts'
- I don't have a python binary installed, only a python2 link to the python27 binary (FBSD, and python27 from ports). Thus, update-version.sh will fail to evaluate hg's changeset. As a quick fix I needed to create a link: python -> python2 Both these are only run if you compile the source from hg, as you did. Official release tar-balls should not have this issue. Still, it is not optimal and Ill definitely look into solving 1) when I have time available for that.
For temporarily solving 1) it is worth noticing the scripts word-break-data.sh and word-boundary-data.sh depend on /bin/bash. You could either install bash or just try if it works if you change it to /bin/sh and use whatever FreeBSD has that pointing to.
br, Teemu Huovila