Hi —
Teemu Huovila <teemu.huovila@dovecot.fi> wrote:
On 04/24/2015 10:00 PM, Michael Grimm wrote:
I'm trying to compile a recent hg dovecot version (008632bdfd2c) at a FBSD10-STABLE system without success: […] 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.
Well that works, although ti's suboptimal because FBSD is more or less bash-free. One, has to install a bash port, and one has to to create a link for /usr/bin/local/bin/bash as /bin/bash. Easy to do, but no perfect solution, when it comes to OS portability, though.
You could either install bash
That works well.
or just try if it works if you change it to /bin/sh and use whatever FreeBSD has that pointing to.
That fails because /bin/sh equals /bin/csh at FBSD.
Thanks and with kind regards, Michael