On 14/08/2024 20:30 EEST Herbert J. Skuhra via dovecot <dovecot@dovecot.org> wrote:
On Wed, Aug 14, 2024 at 07:17:25PM +0200, Goetz Schultz via dovecot wrote:
Hi,
I am trying to compile said version above under FreeBSD 14.1 .
Config setting is:
./configure --with-pgsql --with-sql
However, during compile the process halts with below errors: <quote> test-mail-index-transaction-update.c:648:17: error: incompatible pointer to integer conversion assigning to 'uint32_t' (aka 'unsigned int') from 'char *(*)(int, int)' [-Wint-conversion] 648 | hdr.day_stamp = tests[i].old_day_stamp + timezone; | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test-mail-index-transaction-update.c:650:49: warning: arithmetic on a pointer to the function type 'char *(int, int)' is a GNU extension [-Wgnu-pointer-arith] 650 | mail_index_update_day_headers(t, tests[i].now + timezone); | ^
test-mail-index-transaction-update.c:650:36: error: incompatible pointer to integer conversion passing 'char *(*)(int, int)' to parameter of type 'time_t' (aka 'long') [-Wint-conversion] 650 | mail_index_update_day_headers(t, tests[i].now + timezone); | ^~~~~~~~~~~~~~~~~~~~~~~ </quote> Other info: gcc -v FreeBSD clang version 18.1.5 (https://github.com/llvm/llvm-project.git llvmorg-18.1.5-0-g617a15a9eac9) Target: x86_64-unknown-freebsd14.1 Thread model: posix InstalledDir: /usr/bin Any clue or pointer (no pun intended) what's going wrong and how to fix it?
- There is a port (and package) for dovecot in mail/dovecot. Why do you build from source?
- You probably need the below patch and maybe others from files: <https://cgit.freebsd.org/ports/tree/mail/dovecot/files/patch-src_lib-index_test-mail-index-transaction-update.c> <https://cgit.freebsd.org/ports/tree/mail/dovecot/files>
Also there is fix for this in dovecot repo as well nowadays:
https://github.com/dovecot/core/commit/1a7b1f66fe4b86cb642dbcfe5a0192c1b77d0...
followed with
https://github.com/dovecot/core/commit/867a37fa7b74f798a931fb582214b5377f576...
Aki