[Pkg-clamav-devel] Bug#1074883: clamsmtp: ftbfs with GCC-14

Scott Kitterman debian at kitterman.com
Wed Jul 3 13:46:16 BST 2024


Unfortunately, clamsmtp is another package that's pretty dead upstream, but 
still useful (I don't know of an exact replacement for it).  It would be great 
if someone who's proficient in C (meaning not me) could have a look at this.

Thanks,

Scott K

On Wednesday, July 3, 2024 8:24:19 AM EDT Matthias Klose wrote:
> Package: src:clamsmtp
> Version: 1.10-17.3
> Severity: important
> Tags: sid trixie
> User: debian-gcc at lists.debian.org
> Usertags: ftbfs-gcc-14
> 
> [This bug is targeted to the upcoming trixie release]
> 
> Please keep this issue open in the bug tracker for the package it
> was filed for.  If a fix in another package is required, please
> file a bug for the other package (or clone), and add a block in this
> package. Please keep the issue open until the package can be built in
> a follow-up test rebuild.
> 
> The package fails to build in a test rebuild on at least amd64 with
> gcc-14/g++-14, but succeeds to build with gcc-13/g++-13. The
> severity of this report will be raised before the trixie release.
> 
> The full build log can be found at:
> http://qa-logs.debian.net/2024/07/01/clamsmtp_1.10-17.3_unstable_gccexp.log
> The last lines of the build log are at the end of this report.
> 
> To build with GCC 14, either set CC=gcc-14 CXX=g++-14 explicitly,
> or install the gcc, g++, gfortran, ... packages from experimental.
> 
>   apt-get -t=experimental install g++
> 
> Common build failures are new warnings resulting in build failures with
> -Werror turned on, or new/dropped symbols in Debian symbols files.
> For other C/C++ related build failures see the porting guide at
> http://gcc.gnu.org/gcc-14/porting_to.html
> 
> [...]
> 
>       |     ^~~~~~~~~~~~
> 
> /usr/include/signal.h:324:12: note: declared here
>   324 | extern int siginterrupt (int __sig, int __interrupt) __THROW
> 
>       |            ^~~~~~~~~~~~
> 
> ../common/spio.c: In function ‘spio_attach’:
> ../common/spio.c:124:45: error: passing argument 3 of ‘getsockname’ from
> incompatible pointer type [-Wincompatible-pointer-types] 124 |    
> if(getsockname(fd, &SANY_ADDR(locaddr), &SANY_LEN(locaddr)) == -1 || In
> file included from ../common/spio.c:46:
> /usr/include/x86_64-linux-gnu/sys/socket.h:117:47: note: expected ‘socklen_t
> * restrict’ {aka ‘unsigned int * restrict’} but argument is of type ‘size_t
> *’ {aka ‘long unsigned int *’} 117 |                         socklen_t
> *__restrict __len) __THROW;
>       |                         ~~~~~~~~~~~~~~~~~~~~~~^~~~~
> 
> ../common/spio.c:139:43: error: passing argument 3 of ‘getpeername’ from
> incompatible pointer type [-Wincompatible-pointer-types] 139 |    
> if(getpeername(fd, &SANY_ADDR(*peer), &SANY_LEN(*peer)) == -1 ||
> /usr/include/x86_64-linux-gnu/sys/socket.h:131:47: note: expected
> ‘socklen_t * restrict’ {aka ‘unsigned int * restrict’} but argument is of
> type ‘size_t *’ {aka ‘long unsigned int *’} 131 |                        
> socklen_t *__restrict __len) __THROW;
>       |                         ~~~~~~~~~~~~~~~~~~~~~~^~~~~
> 
> ../common/smtppass.c: In function ‘thread_main’:
> ../common/smtppass.c:690:5: warning: ‘siginterrupt’ is deprecated: Use
> sigaction with SA_RESTART instead [-Wdeprecated-declarations] 690 |    
> siginterrupt(SIGINT, 1);
> 
>       |     ^~~~~~~~~~~~
> 
> /usr/include/signal.h:324:12: note: declared here
>   324 | extern int siginterrupt (int __sig, int __interrupt) __THROW
> 
>       |            ^~~~~~~~~~~~
> 
> ../common/smtppass.c:691:5: warning: ‘siginterrupt’ is deprecated: Use
> sigaction with SA_RESTART instead [-Wdeprecated-declarations] 691 |    
> siginterrupt(SIGTERM, 1);
> 
>       |     ^~~~~~~~~~~~
> 
> /usr/include/signal.h:324:12: note: declared here
>   324 | extern int siginterrupt (int __sig, int __interrupt) __THROW
> 
>       |            ^~~~~~~~~~~~
> 
> ../common/smtppass.c:728:12: warning: cast to pointer from integer of
> different size [-Wint-to-pointer-cast] 728 |     return (void*)(ret == 0 ?
> 0 : 1);
> 
>       |            ^
> 
> ../common/smtppass.c: In function ‘make_connections’:
> ../common/smtppass.c:756:82: error: passing argument 5 of ‘getsockopt’ from
> incompatible pointer type [-Wincompatible-pointer-types] 756 |        
> if(getsockopt(ctx->client.fd, SOL_IP, SO_ORIGINAL_DST, &SANY_ADDR(addr),
> &SANY_LEN(addr)) == -1) In file included from ../common/smtppass.c:45:
> /usr/include/x86_64-linux-gnu/sys/socket.h:257:46: note: expected ‘socklen_t
> * restrict’ {aka ‘unsigned int * restrict’} but argument is of type ‘size_t
> *’ {aka ‘long unsigned int *’} 257 |                        socklen_t
> *__restrict __optlen) __THROW;
>       |                        ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
> 
> ../common/smtppass.c: In function ‘sp_setup_forked’:
> make[3]: *** [Makefile:416: clamsmtpd-spio.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
> ../common/smtppass.c:1806:5: warning: ‘siginterrupt’ is deprecated: Use
> sigaction with SA_RESTART instead [-Wdeprecated-declarations] 1806 |    
> siginterrupt(SIGINT, 0);
> 
>       |     ^~~~~~~~~~~~
> 
> /usr/include/signal.h:324:12: note: declared here
>   324 | extern int siginterrupt (int __sig, int __interrupt) __THROW
> 
>       |            ^~~~~~~~~~~~
> 
> ../common/smtppass.c:1807:5: warning: ‘siginterrupt’ is deprecated: Use
> sigaction with SA_RESTART instead [-Wdeprecated-declarations] 1807 |    
> siginterrupt(SIGTERM, 0);
> 
>       |     ^~~~~~~~~~~~
> 
> /usr/include/signal.h:324:12: note: declared here
>   324 | extern int siginterrupt (int __sig, int __interrupt) __THROW
> 
>       |            ^~~~~~~~~~~~
> 
> ../common/smtppass.c: In function ‘connection_loop’:
> ../common/smtppass.c:538:21: warning: ignoring return value of ‘write’
> declared with attribute ‘warn_unused_result’ [-Wunused-result] 538 |       
>              write(fd, SMTP_STARTFAILED, KL(SMTP_STARTFAILED));
>       |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>       |                     ~
> 
> ../common/smtppass.c:555:13: warning: ignoring return value of ‘write’
> declared with attribute ‘warn_unused_result’ [-Wunused-result] 555 |       
>      write(fd, SMTP_STARTBUSY, KL(SMTP_STARTBUSY));
>       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> make[3]: *** [Makefile:430: clamsmtpd-smtppass.o] Error 1
> make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
> make[2]: *** [Makefile:369: all-recursive] Error 1
> make[2]: Leaving directory '/<<PKGBUILDDIR>>'
> make[1]: *** [Makefile:310: all] Error 2
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> dh_auto_build: error: make -j8 returned exit code 2
> make: *** [debian/rules:6: build] Error 25
> dpkg-buildpackage: error: debian/rules build subprocess returned exit status
> 2
> 
> _______________________________________________
> Pkg-clamav-devel mailing list
> Pkg-clamav-devel at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-clamav-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://alioth-lists.debian.net/pipermail/pkg-clamav-devel/attachments/20240703/e93994e3/attachment.sig>


More information about the Pkg-clamav-devel mailing list