On 04/07/2016 12:44, Aki Tuomi wrote:


On 04.07.2016 14:24, Juan C. Blanco wrote:


On 01/07/2016 18:51, Timo Sirainen wrote:
On 01 Jul 2016, at 19:09, Juan C. Blanco <jcbla...@fi.upm.es> wrote:

I Haven't had the time to check the sha1.h error with the new fixes
but I've just done so after de 2.2.25 release was out and I'm having
the same error:

gcc -DHAVE_CONFIG_H -I. -I. -I../.. -std=gnu99 -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -W
-Wmissing-prototypes -Wmissing-declarations -Wpointer-arith
-Wchar-subscripts -Wformat=2 -Wbad-function-cast
-fno-builtin-strftime -Wstrict-aliasing=2 -I/usr/kerberos/include -c
guid.c  -fPIC -DPIC -o .libs/guid.o
In file included from guid.c:6:
sha1.h:80: error: static or type qualifiers in abstract declarator

I thought this was fixed in 2.2.25.. In config.h you should have only:

#define STATIC_ARRAY

(not #define STATIC_ARRAY static)

OK, my config.h contains:

/* C99 static array */
#define STATIC_ARRAY static

Regards.


Operating System: CentOS 5.11
GCC Version: gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)

We have four systems like this with dovecot 2.2.24 working fine. I
would like to know if this platform will not be compatible anymore
with dovecot and if we need to upgrade our systems prior to dovecot
version since, besides this, I have the problem related to the
openssl version for the lib-dcrypt library

I recommend upgrading. We're considering not supporting older OSes
anymore at all..



Hi!

This problem is hopefully now fixed by
https://github.com/dovecot/core/commit/d9c865ce774aae9f2f17b89e7e94c3cfca29dea7

Aki, I had a go mock building on CentOS5 and it appears that the test succeeds with this patch in place:

configure:21182: checking if we can use C99 static in array sizes
configure:21202: gcc -c -std=gnu99 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fno-strict-aliasing -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 conftest.c >&5
configure:21202: $? = 0
configure:21214: result: yes

(confirmed was built using unsigned char array)

In fact, after a cursory examination and some testing I suspect the CentOS5 gcc does nominally support static array sizes, and it's likely hitting a compiler bug on the build proper?

All I can suggest is a manual configure flag toggle of the test, or that this bug is better placed against Redhat? I haven't been able to narrow down a reproducer on triggering the error message other than during build.

--
Dave

Reply via email to