[Debian-med-packaging] Bug#1096489: ctn: ftbfs with GCC-15
Étienne Mollier
emollier at debian.org
Mon Sep 15 21:46:27 BST 2025
Control: tags -1 + confirmed help
I have investigated the feasibility of a patch for ctn. For a
couple of reasons, I believe that the sanest approach for this
package would be to cap to a C standard below 2023 and only
correct changes purely related to gcc-15:
* the codebase is large and originates mostly from 1993;
* latest upstream version dates back from 2008, that is almost
seventeen years ago;
* changes affect mostly callbacks, which are scattered all
around the code and thus, a resulting patch is going to be
heavyweight;
* I think I have run into a situation that does not allow for
a proper fix without extensive reorganisation of the code.
Rereading some of these items, one could even consider that the
software could even be eligible to a removal, but popcon
information suggests there are still at least a hundred of
instances of the package being deployed out there. This is
relatively high compared to typical Debian Med package. Of
course it is always possible that these deployments are long
running oversights.
In any case, the codebase has not grown old well and even by
capping the C level, there are still many changes needed to
allow the package to build from source. I have pushed some
changes to Salsa, but I have not finished and need to grow some
competency with parser compilers. Indeed, I currently run into
the following build failure and do not know how to inject the
necessary feature test macro to properly recognise fileno(3) at
the earliest point in time possible in the resulting C file:
flex lex.l
mv lex.yy.c lex.c
gcc -g -DDEBUG -DLITTLE_ENDIAN_ARCHITECTURE -DLINUX -DSHARED_MEMORY -DSEMAPHORE -DX11 -DATHENA -DX11R4 -DUSLEEP -DMYSQLDB -I/build/reproducible-path/ctn-3.2.0~dfsg/include -I/usr/include/mysql -I/usr/include/Xm -I/usr/X11R6/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/ctn-3.2.0~dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wno-error=incompatible-pointer-types -Wno-error=implicit-int -Wno-error=int-conversion -std=c17 -DLONGSIZE=64 -DINTSIZE=32 -DSHORTSIZE=16 -DTIMEOFDAYARGS=2 -DMOTIF -DUSEREGCOMP -I/build/reproducible-path/ctn-3.2.0~dfsg/include -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lex.o lex.c
lex.l: In function ‘yylex’:
lex.l:75:32: warning: format ‘%x’ expects argument of type ‘unsigned int *’, but argument 3 has type ‘long unsigned int *’ [-Wformat=]
75 | sscanf(yytext, "%x", &yylval.num);
| ^~~~ ~~~~~~~~~~~
| |
| long unsigned int *
lex.yy.c: In function ‘yy_init_buffer’:
lex.yy.c:1466:48: error: implicit declaration of function ‘fileno’ [-Wimplicit-function-declaration]
If someone is already comfortable with this error mode, I would
welcome a helping hand. :)
--
.''`. Étienne Mollier <emollier at debian.org>
: :' : pgp: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da
`. `' sent from /dev/pts/1, please excuse my verbosity
`- on air: Genesis - Carpet Crawlers
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20250915/daa87ae6/attachment.sig>
More information about the Debian-med-packaging
mailing list