Error seen - sorry for this!!

On 6 Jan 2021, at 14:24, Steve Akerman <steve.akerman@aboukir.com> wrote:

Hi,

Dovecot 2.3.13 builds successfully on this old OS X, but pigeonhole v0.5.13fails as below:

gcc -DHAVE_CONFIG_H -I. -I../..  -I/usr/local/include/dovecot    -I../.. -I../../src/lib-managesieve -fPIE -DPIE   -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -Wno-duplicate-decl-specifier -Wstrict-aliasing=2 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -I../..  -MT managesieve_login-client.o -MD -MP -MF .deps/managesieve_login-client.Tpo -c -o managesieve_login-client.o `test -f 'client.c' || echo './'`client.c
In file included from client.c:23:
./managesieve-proxy.h:8:15: warning: declaration of 'enum login_proxy_failure_type' will not be visible outside of this function [-Wvisibility]
                              enum login_proxy_failure_type type,
                                   ^
client.c:518:3: error: field designator 'proxy_failed' does not refer to any field in type 'struct client_vfuncs'
        .proxy_failed = managesieve_proxy_failed,
         ^
1 warning and 1 error generated.
make: *** [managesieve_login-client.o] Error 1


This appears to be related to the change from manage sieve_proxy_ error to manage sieve_proxy_failed.

Pigeonhole v0.5.11 builds without problem on the same machine.

The warning appears to be related to the lack of a declaration, but I am no expert. The error I have no idea!!!

Is this related to my old compiler, or is there an issue here?

Can anyone propose a workaround, as I would like to use Dovecot 2.3.13, but will get version mismatch errors if I do not upgrade pigeonhole.

Thanks in advance