#1097849 sc-im: ftbfs with GCC-15

Package:
src:sc-im
Source:
src:sc-im
Submitter:
Matthias Klose
Date:
2025-09-04 22:10:37 UTC
Severity:
normal
Tags:
#1097849#5
Date:
2025-02-17 17:52:24 UTC
From:
To:
[This bug is NOT 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-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.

The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/sc-im_0.8.4+ds-1_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.

To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++

GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other 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-15/porting_to.html

[...]
clipboard.c: In function ‘copy_to_clipboard’:
clipboard.c:176:9: warning: ignoring return value of ‘system’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  176 |         system(syscmd);
      |         ^~~~~~~~~~~~~~
cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sc-im-0.8.4+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -g -DNCURSES -D_XOPEN_SOURCE_EXTENDED -D_GNU_SOURCE -DSNAME=\"sc-im\" -DHELP_PATH=\"/usr/share/sc-im\" -DLIBDIR=\"/usr/share/doc/sc-im\" -DDFLT_PAGER=\"less\" -DDFLT_EDITOR=\"vim\" -DUSECOLORS -DHISTORY_FILE=\"sc-iminfo\" -DHISTORY_DIR=\".cache\" -DCONFIG_FILE=\"scimrc\" -DCONFIG_DIR=\".config/sc-im\" -DINS_HISTORY_FILE=\"sc-iminfo\" -DUNDO -DMAXROWS=65536 -DUSELOCALE -DMOUSE -DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""xclip -i -selection clipboard <"\" -DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""xclip -o -selection clipboard"\" -DDEFAULT_OPEN_FILE_UNDER_CURSOR_CMD=\""scopen"\" -DAUTOBACKUP -DHAVE_PTHREAD -DGNUPLOT -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  -DODS -DXLSX -I/usr/include/libxml2  -DXLUA -I/usr/include/lua5.4  -Wdate-time -D_FORTIFY_SOURCE=2  -c -o function.o function.c
format.c: In function ‘engformat’:
format.c:571:21: warning: conflicting types for built-in function ‘pow’; expected ‘double(double,  double)’ [-Wbuiltin-declaration-mismatch]
  571 |     double engmant, pow(), engabs, engexp;
      |                     ^~~
format.c:133:1: note: ‘pow’ is declared in header ‘<math.h>’
  132 | #include "xmalloc.h"
  +++ |+#include <math.h>
  133 |
format.c:604:31: error: too many arguments to function ‘pow’; expected 0, have 2
  604 |                 engmant = val/pow(10.0e0, engexp);
      |                               ^~~ ~~~~~~
format.c:571:21: note: declared here
  571 |     double engmant, pow(), engabs, engexp;
      |                     ^~~
make[2]: *** [<builtin>: format.o] Error 1
make[2]: *** Waiting for unfinished jobs....
function.c: In function ‘finfunc’:
function.c:81:18: error: passing argument 1 of ‘fn2_eval’ from incompatible pointer type [-Wincompatible-pointer-types]
   81 |     p = fn2_eval(pow, 1 + v2, v3);
      |                  ^~~
      |                  |
      |                  double (*)(double,  double)
In file included from function.c:56:
interp.h:48:27: note: expected ‘double (*)(void)’ but argument is of type ‘double (*)(double,  double)’
   48 | double fn2_eval(double (* fn)(), double arg1, double arg2);
      |                 ~~~~~~~~~~^~~~~
In file included from /usr/include/features.h:510,
                 from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                 from /usr/include/string.h:26,
                 from function.c:46:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:155:1: note: ‘pow’ declared here
  155 | __MATHCALL_VEC (pow,, (_Mdouble_ __x, _Mdouble_ __y));
      | ^~~~~~~~~~~~~~
make[2]: *** [<builtin>: function.o] Error 1
file.c: In function ‘handle_backup’:
file.c:2091:62: error: passing argument 3 of ‘pthread_create’ from incompatible pointer type [-Wincompatible-pointer-types]
 2091 |             pthread_exists = (pthread_create(&fthread, NULL, do_autobackup, NULL) == 0) ? 1 : 0;
      |                                                              ^~~~~~~~~~~~~
      |                                                              |
      |                                                              void * (*)(void)
In file included from file.c:87:
/usr/include/pthread.h:204:36: note: expected ‘void * (*)(void *)’ but argument is of type ‘void * (*)(void)’
  204 |                            void *(*__start_routine) (void *),
      |                            ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
file.c:2033:8: note: ‘do_autobackup’ declared here
 2033 | void * do_autobackup() {
      |        ^~~~~~~~~~~~~
file.c: In function ‘openfile’:
file.c:995:16: warning: ignoring return value of ‘dup’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  995 |         (void) dup(pipefd[0]);           // connect to first pipe
      |                ^~~~~~~~~~~~~~
file.c:999:20: warning: ignoring return value of ‘dup’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  999 |             (void) dup(pipefd[3]);       // connect to second pipe
      |                    ^~~~~~~~~~~~~~
file.c: In function ‘openfile_nested’:
file.c:2157:5: warning: ignoring return value of ‘system’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2157 |     system(syscmd);
      |     ^~~~~~~~~~~~~~
make[2]: *** [<builtin>: file.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/sc-im-0.8.4+ds/src'
dh_auto_build: error: cd src && make -j8 "INSTALL=install --strip-program=true" returned exit code 2
make[1]: *** [debian/rules:11: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/sc-im-0.8.4+ds'
make: *** [debian/rules:6: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2