Hello Dovecot users and developers!

Up to Dovecot 2.3.14.1 manual compilation of Dovecot sources was fine, I have 
an old 32-bit Linux server with GCC 4.4.7 where I compile almost all things 
manually. Works fine, never had problems with GCC versions.

env LDFLAGS="-Wl,--no-as-needed" ./configure --prefix=/usr/local/dovecot 
--with-ssl=openssl --with-ssldir=/usr/local/dovecot/etc/dovecot/certs
make

Unfortunately, Dovecot 2.3.15 fails to compile at test-smtp-params.c (works 
with a recent GCC 11.1.1 on my desktop, but servers usually come with older 
stuff). I know a little bit of programming but that's above my head what goes 
wrong here and how I could fix it to continue (so I don't know if that's the 
only problem or if there will be more).

See below (at the end) for the exact error message.

I assume this compilation issue was not an intentional change/requirement 
between 2.3.14(.1) and 2.3.15, it just happened.

I don't think that the problem is in "test-smtp-params.c" itself but some 
declarations somewhere else are missing, but I'm no expert here. There were too many 
changes in the src/lib-smtp source tree to understand what may have caused this (or maybe 
it's even somewhere else).

Any help is highly appreciated. I'd be happy to help and try out any ideas or 
patches. I'd like to see that Dovecot can be compiled on as many platforms as 
possible, as long as there are no fundamental requirements making this 
impossible.

Thanks a lot in advance and keep up the good work,
Andreas



[last lines of compilation process when error happens]

gcc -DHAVE_CONFIG_H -I. -I../..  -I../../src/lib -I../../src/lib-test 
-I../../src/lib-settings -I../../src/lib-master -I../../src/lib-sasl 
-I../../src/lib-ssl-iostream -I../../src/lib-dns -I../../src/lib-program-client 
-I../../src/lib-mail 
-DTEST_BIN_DIR=\"/usr/local/src/dovecot-2.3.15/src/lib-smtp/test-bin\"   
-std=gnu99 -g -O2 -fstack-protector -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 
-mfunction-return=keep -mindirect-branch=keep -Wall -W -Wmissing-prototypes 
-Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast 
-fno-builtin-strftime -Wstrict-aliasing=2 -I/usr/local/OpenSSL-1.1.1/include    -MT 
test-smtp-params.o -MD -MP -MF .deps/test-smtp-params.Tpo -c -o test-smtp-params.o 
test-smtp-params.c
test-smtp-params.c:29: error: unknown field ‘data’ specified in initializer
test-smtp-params.c:29: warning: missing braces around initializer
test-smtp-params.c:29: warning: (near initialization for 
‘test_params_buffer1.<anonymous>’)
test-smtp-params.c:30: warning: missing initializer
test-smtp-params.c:30: warning: (near initialization for 
‘test_params_buffer1.<anonymous>.<anonymous>.used’)
test-smtp-params.c:30: error: unknown field ‘used’ specified in initializer
test-smtp-params.c:31: warning: excess elements in struct initializer
test-smtp-params.c:31: warning: (near initialization for ‘test_params_buffer1’)
test-smtp-params.c:33: error: unknown field ‘data’ specified in initializer
test-smtp-params.c:33: warning: missing braces around initializer
test-smtp-params.c:33: warning: (near initialization for 
‘test_params_buffer2.<anonymous>’)
test-smtp-params.c:34: warning: missing initializer
test-smtp-params.c:34: warning: (near initialization for 
‘test_params_buffer2.<anonymous>.<anonymous>.used’)
test-smtp-params.c:34: error: unknown field ‘used’ specified in initializer
test-smtp-params.c:35: warning: excess elements in struct initializer
test-smtp-params.c:35: warning: (near initialization for ‘test_params_buffer2’)
make[3]: *** [test-smtp-params.o] Error 1
make[3]: Leaving directory `/usr/local/src/dovecot-2.3.15/src/lib-smtp'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/dovecot-2.3.15/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/dovecot-2.3.15'
make: *** [all] Error 2

Reply via email to