[Debian-pan-maintainers] Bug#1114147: ifeffit: FTBFS: commands.h:12:18: error: initialization of 'int (*)(void)' from incompatible pointer type 'int (*)(char *)' [-Wincompatible-pointer-types]

Santiago Vila sanvila at debian.org
Fri Sep 5 19:18:30 BST 2025


Package: src:ifeffit
Version: 2:1.2.11d-12.7
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build.

Below you will find how the build ends (probably the most relevant part,
but not necessarily). If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202509/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:ifeffit, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp build-ifeffit build-perl build-docs
[ ! -f Makefile ] || /usr/bin/make distclean
rm -f wrappers/perl/Makefile.PL
rm -f wrappers/perl/Makefile
rm -f wrappers/perl/pm_to_blib
rm -f wrappers/python/site_install.py
rm -f wrappers/tcl/TclSetup.in
rm -f readline/config.log
rm -f readline/config.status
rm -f readline/stamp-h
rm -f readline/config.h

[... snipped ...]

      |                  ^~~~~~~~
commands.h:48:18: note: (near initialization for ‘commands[12].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:51:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   51 |   {"ff2chi",      iff_exec,
      |                   ^~~~~~~~
commands.h:51:19: note: (near initialization for ‘commands[13].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:54:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   54 |   { "feffit",     iff_exec,
      |                   ^~~~~~~~
commands.h:54:19: note: (near initialization for ‘commands[14].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:57:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   57 |   {"minimize",    iff_exec,
      |                   ^~~~~~~~
commands.h:57:19: note: (near initialization for ‘commands[15].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:59:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   59 |   { "set",        iff_exec,
      |                   ^~~~~~~~
commands.h:59:19: note: (near initialization for ‘commands[16].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:62:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   62 |   { "def",        iff_exec,
      |                   ^~~~~~~~
commands.h:62:19: note: (near initialization for ‘commands[17].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:65:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   65 |   {"guess",       iff_exec,
      |                   ^~~~~~~~
commands.h:65:19: note: (near initialization for ‘commands[18].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:68:14: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   68 |   {"rename", iff_exec, "rename a variable",
      |              ^~~~~~~~
commands.h:68:14: note: (near initialization for ‘commands[19].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:70:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   70 |   { "load",       iff_exec,
      |                   ^~~~~~~~
commands.h:70:19: note: (near initialization for ‘commands[20].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:73:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   73 |   { "erase",      iff_exec,
      |                   ^~~~~~~~
commands.h:73:19: note: (near initialization for ‘commands[21].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:76:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   76 |   {"macro",       iff_exec,
      |                   ^~~~~~~~
commands.h:76:19: note: (near initialization for ‘commands[22].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:79:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   79 |   { "show",       iff_exec,
      |                   ^~~~~~~~
commands.h:79:19: note: (near initialization for ‘commands[23].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:82:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   82 |   { "print",      iff_exec,
      |                   ^~~~~~~~
commands.h:82:19: note: (near initialization for ‘commands[24].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:85:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   85 |   {"echo",        iff_exec,
      |                   ^~~~~~~~
commands.h:85:19: note: (near initialization for ‘commands[25].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:88:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   88 |   {"pause",       iff_exec,
      |                   ^~~~~~~~
commands.h:88:19: note: (near initialization for ‘commands[26].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:91:15: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   91 |   {"restore", iff_exec,
      |               ^~~~~~~~
commands.h:91:15: note: (near initialization for ‘commands[27].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:94:12: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   94 |   {"save", iff_exec,
      |            ^~~~~~~~
commands.h:94:12: note: (near initialization for ‘commands[28].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:97:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   97 |   { "quit",       iff_exec, "exit the program", "quit" },
      |                   ^~~~~~~~
commands.h:97:19: note: (near initialization for ‘commands[29].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
commands.h:98:19: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(char *)’ [-Wincompatible-pointer-types]
   98 |   { "exit",       iff_exec, "exit the program", "exit" },
      |                   ^~~~~~~~
commands.h:98:19: note: (near initialization for ‘commands[30].func’)
../lib/ifeffit.h:15:17: note: ‘iff_exec’ declared here
   15 | IFF_EXPORT(int) iff_exec(char *);
      |                 ^~~~~~~~
iff_shell.c: In function ‘main’:
iff_shell.c:164:13: error: too many arguments to function ‘iff_load_file’; expected 0, have 1
  164 |       ret = iff_load_file(argv[i]);
      |             ^~~~~~~~~~~~~ ~~~~~~~
iff_shell.c:68:7: note: declared here
   68 | int   iff_load_file(), write_history_file();
      |       ^~~~~~~~~~~~~
iff_shell.c:175:9: error: too many arguments to function ‘stripwhite’; expected 0, have 1
  175 |     s = stripwhite(line);
      |         ^~~~~~~~~~ ~~~~
iff_shell.c:69:8: note: declared here
   69 | char  *stripwhite(), *progname, *home;
      |        ^~~~~~~~~~
iff_shell.c:190:7: error: too many arguments to function ‘write_history_file’; expected 0, have 2
  190 |   i = write_history_file(hist_file, hist_lines);
      |       ^~~~~~~~~~~~~~~~~~ ~~~~~~~~~
iff_shell.c:68:24: note: declared here
   68 | int   iff_load_file(), write_history_file();
      |                        ^~~~~~~~~~~~~~~~~~
iff_shell.c: In function ‘execute_line’:
iff_shell.c:215:13: error: too many arguments to function ‘find_command’; expected 0, have 1
  215 |   command = find_command(cmd);
      |             ^~~~~~~~~~~~ ~~~
commands.h:112:10: note: declared here
  112 | COMMAND *find_command();
      |          ^~~~~~~~~~~~
iff_shell.c:218:8: error: too many arguments to function ‘find_command’; expected 0, have 1
  218 |       (find_command(cmd)->func == find_command("plot")->func)) {
      |        ^~~~~~~~~~~~ ~~~
commands.h:112:10: note: declared here
  112 | COMMAND *find_command();
      |          ^~~~~~~~~~~~
iff_shell.c:218:35: error: too many arguments to function ‘find_command’; expected 0, have 1
  218 |       (find_command(cmd)->func == find_command("plot")->func)) {
      |                                   ^~~~~~~~~~~~ ~~~~~~
commands.h:112:10: note: declared here
  112 | COMMAND *find_command();
      |          ^~~~~~~~~~~~
iff_shell.c:221:11: error: too many arguments to function ‘command->func’; expected 0, have 1
  221 |     i = ((*(command->func)) (arg));
      |          ~^~~~~~~~~~~~~~~~~  ~~~
commands.h:6:13: note: declared here
    6 |   Function *func;     /* internal function to call to do the job. */
      |             ^~~~
iff_shell.c: At top level:
iff_shell.c:226:5: error: conflicting types for ‘iff_load_file’; have ‘int(char *)’
  226 | int iff_load_file(char *file) { /* load a file of ifeffit commands */
      |     ^~~~~~~~~~~~~
iff_shell.c:68:7: note: previous declaration of ‘iff_load_file’ with type ‘int(void)’
   68 | int   iff_load_file(), write_history_file();
      |       ^~~~~~~~~~~~~
iff_shell.c:241:5: error: conflicting types for ‘write_history_file’; have ‘int(char *, int)’
  241 | int write_history_file(char *file, int n_hist) {
      |     ^~~~~~~~~~~~~~~~~~
iff_shell.c:68:24: note: previous declaration of ‘write_history_file’ with type ‘int(void)’
   68 | int   iff_load_file(), write_history_file();
      |                        ^~~~~~~~~~~~~~~~~~
iff_shell.c:249:5: error: conflicting types for ‘com_list’; have ‘int(char *)’
  249 | int com_list (char *arg) {
      |     ^~~~~~~~
iff_shell.c:66:7: note: previous declaration of ‘com_list’ with type ‘int(void)’
   66 | int   com_list(), com_more();
      |       ^~~~~~~~
iff_shell.c:255:5: error: conflicting types for ‘com_more’; have ‘int(char *)’
  255 | int com_more (char *arg) {
      |     ^~~~~~~~
iff_shell.c:66:19: note: previous declaration of ‘com_more’ with type ‘int(void)’
   66 | int   com_list(), com_more();
      |                   ^~~~~~~~
iff_shell.c:260:5: error: conflicting types for ‘com_cd’; have ‘int(char *)’
  260 | int com_cd (char *arg) {
      |     ^~~~~~
iff_shell.c:67:19: note: previous declaration of ‘com_cd’ with type ‘int(void)’
   67 | int    com_pwd(), com_cd();
      |                   ^~~~~~
iff_shell.c: In function ‘com_cd’:
iff_shell.c:262:3: error: too many arguments to function ‘com_pwd’; expected 0, have 1
  262 |   com_pwd("");
      |   ^~~~~~~ ~~
iff_shell.c:67:8: note: declared here
   67 | int    com_pwd(), com_cd();
      |        ^~~~~~~
iff_shell.c: At top level:
iff_shell.c:266:5: error: conflicting types for ‘com_pwd’; have ‘int(char *)’
  266 | int com_pwd (char *arg) {
      |     ^~~~~~~
iff_shell.c:67:8: note: previous declaration of ‘com_pwd’ with type ‘int(void)’
   67 | int    com_pwd(), com_cd();
      |        ^~~~~~~
iff_shell.c:273:5: error: conflicting types for ‘sys_exec’; have ‘int(char *)’
  273 | int sys_exec(char *arg) {
      |     ^~~~~~~~
iff_shell.c:65:7: note: previous declaration of ‘sys_exec’ with type ‘int(void)’
   65 | int   sys_exec(), sys_help();
      |       ^~~~~~~~
iff_shell.c:285:5: error: conflicting types for ‘sys_help’; have ‘int(char *)’
  285 | int sys_help (char *arg) {
      |     ^~~~~~~~
iff_shell.c:65:19: note: previous declaration of ‘sys_help’ with type ‘int(void)’
   65 | int   sys_exec(), sys_help();
      |                   ^~~~~~~~
iff_shell.c:319:10: error: conflicting types for ‘find_command’; have ‘COMMAND *(char *)’
  319 | COMMAND *find_command (char *name) {
      |          ^~~~~~~~~~~~
commands.h:112:10: note: previous declaration of ‘find_command’ with type ‘COMMAND *(void)’
  112 | COMMAND *find_command();
      |          ^~~~~~~~~~~~
iff_shell.c:328:7: error: conflicting types for ‘stripwhite’; have ‘char *(char *)’
  328 | char *stripwhite (char *string) {
      |       ^~~~~~~~~~
iff_shell.c:69:8: note: previous declaration of ‘stripwhite’ with type ‘char *(void)’
   69 | char  *stripwhite(), *progname, *home;
      |        ^~~~~~~~~~
iff_shell.c:370:8: error: conflicting types for ‘ifeffit_completion’; have ‘char **(char *, int,  int)’
  370 | char **ifeffit_completion (char *text, int start, int end) {
      |        ^~~~~~~~~~~~~~~~~~
iff_shell.c:353:8: note: previous declaration of ‘ifeffit_completion’ with type ‘char **(void)’
  353 | char **ifeffit_completion ();
      |        ^~~~~~~~~~~~~~~~~~
iff_shell.c: In function ‘ifeffit_completion’:
iff_shell.c:376:58: error: passing argument 2 of ‘rl_completion_matches’ from incompatible pointer type [-Wincompatible-pointer-types]
  376 |   if (start == 0) matches = rl_completion_matches (text, command_generator);
      |                                                          ^~~~~~~~~~~~~~~~~
      |                                                          |
      |                                                          char * (*)(void)
In file included from iff_shell.c:55:
/usr/include/readline/readline.h:496:52: note: expected ‘char * (*)(const char *, int)’ but argument is of type ‘char * (*)(void)’
  496 | extern char **rl_completion_matches (const char *, rl_compentry_func_t *);
      |                                                    ^~~~~~~~~~~~~~~~~~~~~
iff_shell.c:352:7: note: ‘command_generator’ declared here
  352 | char *command_generator ();
      |       ^~~~~~~~~~~~~~~~~
iff_shell.c: At top level:
iff_shell.c:383:7: error: conflicting types for ‘command_generator’; have ‘char *(char *, int)’
  383 | char *command_generator (char *text, int state) {
      |       ^~~~~~~~~~~~~~~~~
iff_shell.c:352:7: note: previous declaration of ‘command_generator’ with type ‘char *(void)’
  352 | char *command_generator ();
      |       ^~~~~~~~~~~~~~~~~
make[4]: *** [Makefile:237: iff_shell.o] Error 1
make[4]: Leaving directory '/<<PKGBUILDDIR>>/src/cmdline'
make[3]: *** [Makefile:108: all-recursive] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: *** [Makefile:155: all-recursive] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [Makefile:273: all-recursive-am] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:34: build-ifeffit] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------



More information about the Debian-pan-maintainers mailing list