FYI: dovecot (008632bdfd2c) compilation woes, and minor glitch regarding update-version.sh

Michael Grimm trashcan at odo.in-berlin.de
Sat May 9 20:25:48 UTC 2015


Hi —

Teemu Huovila <teemu.huovila at dovecot.fi> wrote:

> On 04/24/2015 10:00 PM, Michael Grimm wrote:

>> 1) 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'
>> 
>> 
>> 2) 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






More information about the dovecot mailing list