[exim] Re: Exim 4.97-RC1 released

Top Page
Delete this message
Reply to this message
Author: Andrew C Aitchison
Date:  
To: exim-users
Subject: [exim] Re: Exim 4.97-RC1 released
On Wed, 27 Sep 2023, Ian Z via Exim-users wrote:

> On Wed, Sep 27, 2023 at 08:56:42AM +0100, Jeremy Harris via Exim-users wrote:
>
>> On 27/09/2023 07:32, Ian Z via Exim-users wrote:
>>> I see a couple of things in the build output that make me even wonder
>>> if my src/Local/Makefile ends up being used.
>
>> "make distclean && make"
>
> Sadly no, this changes nothing.
>
> Attaching my src/Local/Makefile and `make -C src` (from clean git tree)


Ian's Local/Makfile end with:
     CFLAGS = -O2 -fstack-protector-strong $(WARNINGS)  $(DEFS)
         ...        ...
     EXTRALIBS_EXIM = -lspf2
     DEFS = -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_FORTIFY_SOURCE=2
     WARNINGS = -Wdate-time -Wformat -Wno-format-truncation -Werror
     LDFLAGS = -Wl,-z,relro

and his make.log with:
     cc lmtp.c
     lmtp.c: In function ‘lmtp_write_command’:
     lmtp.c:244:48: error: unknown conversion type character ‘Y’ in format
      [-Werror=format=]
       244 | DEBUG(D_transport|D_v) debug_printf("  LMTP>> %Y", &gs);
           |                                                ^
     lmtp.c:244:37: error: too many arguments for format
          [-Werror=format-extra-args]
       244 | DEBUG(D_transport|D_v) debug_printf("  LMTP>> %Y", &gs);
           |                                     ^~~~~~~~~~~~~
     cc1: all warnings being treated as errors
     make[2]: *** [Makefile:15: lmtp.o] Error 1
     make[2]: Leaving directory '/var/lib/git/exim/src/build-Linux-x86_64/transports'


Commit 00392be0e7 (Fri Jul 7 00:40:43 2023 +0100) adds a non-standard % 
option to printf-like format strings which -Wformat does not like.
Since Ian has enabled -Werror too, the compiler is going to abort.
-Wformat has been enabled by default since about the time that --std=c99
became the default, so he has should either
    replace -Wformat with -Wno-format 
or
    add -Wno-error=format
or
    just drop -Werror

These allow lmtp.c and smtp.c to compile on my machine, but there are
warnings in other areas so -Werror will still break the build.

Going back to exim 4.96, there are 15 .c files that do not compile
on my Ubuntu 23.04/Lunar box with
     CC=gcc -Werror -Wno-error=format
so I am not sure why Ian was expecting to be able to build 4.97 with 
"-Werror".

-- 
Andrew C. Aitchison                      Kendal, UK
                    andrew@???


--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-users-unsubscribe@???
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/