#947272 blt: FTBFS with Tcl/Tk 8.7 (>= 8.7.0~a3): error: argument 'argv' doesn't match prototype

Package:
src:blt
Source:
blt
Submitter:
Andreas Beckmann
Date:
2026-07-28 10:23:01 UTC
Severity:
important
Tags:
#947272#5
Date:
2019-12-23 21:23:18 UTC
From:
To:
Hi,

blt/experimental FTBFS, most likely due to GCC 9 bieng the default
compiler nowadays:

x86_64-linux-gnu-gcc -c -Wall -g -O2 -fdebug-prefix-map=/build/blt-2.5.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security   -I. -I.  -I/usr/include/tcl8.7/tk-private/generic -I/usr/include/tcl8.7/tk-private/generic -I/usr/include/tcl8.7/tk-private/unix -I/usr/include/tcl8.7 -I/usr/include/tcl8.7/tcl-private/generic -I/usr/include/tcl8.7/tcl-private/unix bltBgexec.c
In file included from /usr/include/tcl8.7/tcl.h:2383,
                 from bltInt.h:39,
                 from bltBgexec.c:30:
bltBgexec.c: In function 'DisableTriggers':
bltBgexec.c:1451:3: warning: passing argument 5 of 'Tcl_UntraceVar2' from incompatible pointer type [-Wincompatible-pointer-types]
 1451 |   VariableProc, bgPtr);
      |   ^~~~~~~~~~~~
      |   |
      |   char * (*)(void *, Tcl_Interp *, char *, char *, int) {aka char * (*)(void *, struct Tcl_Interp *, char *, char *, int)}
/usr/include/tcl8.7/tclDecls.h:3998:48: note: in definition of macro 'Tcl_UntraceVar'
 3998 |  Tcl_UntraceVar2(interp, varName, NULL, flags, proc, clientData)
      |                                                ^~~~
In file included from /usr/include/tcl8.7/tcl.h:2383,
                 from bltInt.h:39,
                 from bltBgexec.c:30:
/usr/include/tcl8.7/tclDecls.h:800:34: note: expected 'char * (*)(void *, Tcl_Interp *, const char *, const char *, int)' {aka 'char * (*)(void *, struct Tcl_Interp *, const char *, const char *, int)'} but argument is of type 'char * (*)(void *, Tcl_Interp *, char *, char *, int)' {aka 'char * (*)(void *, struct Tcl_Interp *, char *, char *, int)'}
  800 |     int flags, Tcl_VarTraceProc *proc,
      |                ~~~~~~~~~~~~~~~~~~^~~~
bltBgexec.c: In function 'BgexecCmd':
bltBgexec.c:1914:12: error: argument 'argv' doesn't match prototype
 1914 |     char **argv;  /* Argument strings. */
      |            ^~~~
bltBgexec.c:50:20: error: prototype declaration
   50 | static Tcl_CmdProc BgexecCmd;
      |                    ^~~~~~~~~
In file included from /usr/include/tcl8.7/tcl.h:2383,
                 from bltInt.h:39,
                 from bltBgexec.c:30:
bltBgexec.c:2011:59: warning: passing argument 5 of 'Tcl_TraceVar2' from incompatible pointer type [-Wincompatible-pointer-types]
 2011 |     if (Tcl_TraceVar(interp, bgPtr->statVar, TRACE_FLAGS, VariableProc, bgPtr) != TCL_OK) {
      |                                                           ^~~~~~~~~~~~
      |                                                           |
      |                                                           char * (*)(void *, Tcl_Interp *, char *, char *, int) {aka char * (*)(void *, struct Tcl_Interp *, char *, char *, int)}
/usr/include/tcl8.7/tclDecls.h:3995:46: note: in definition of macro 'Tcl_TraceVar'
 3995 |  Tcl_TraceVar2(interp, varName, NULL, flags, proc, clientData)
      |                                              ^~~~
In file included from /usr/include/tcl8.7/tcl.h:2383,
                 from bltInt.h:39,
                 from bltBgexec.c:30:
/usr/include/tcl8.7/tclDecls.h:770:23: note: expected 'char * (*)(void *, Tcl_Interp *, const char *, const char *, int)' {aka 'char * (*)(void *, struct Tcl_Interp *, const char *, const char *, int)'} but argument is of type 'char * (*)(void *, Tcl_Interp *, char *, char *, int)' {aka 'char * (*)(void *, struct Tcl_Interp *, char *, char *, int)'}
  770 |     Tcl_VarTraceProc *proc,
      |     ~~~~~~~~~~~~~~~~~~^~~~
make[3]: *** [Makefile:270: bltBgexec.o] Error 1


Andreas

#947272#10
Date:
2020-12-30 14:05:54 UTC
From:
To:
control: severity -1 important
thanks

Hi Andreas,

it seems blt builds fine with gcc-10 as can be seen from the recent upload,
so I'm downgrading the severity and am wondering if we should actually close
this bug (=ftbfs with gcc-9). What do you think?

#947272#15
Date:
2020-12-30 14:05:54 UTC
From:
To:
control: severity -1 important
thanks

Hi Andreas,

it seems blt builds fine with gcc-10 as can be seen from the recent upload,
so I'm downgrading the severity and am wondering if we should actually close
this bug (=ftbfs with gcc-9). What do you think?

#947272#20
Date:
2020-12-30 14:26:53 UTC
From:
To:
retitle 947272 blt: FTBFS with Tcl/Tk 8.7 (>= 8.7.0~a3): error:
argument 'argv' doesn't match prototype
severity 947272 serious
thanks

Hi Holger!

This bug is actually about blt 2.5.3+dfsg-5 and failure to build with
Tcl/Tk 8.7. So the serious severity is justified. The bug title is
misleading though, so I'm changing it. Sorry for not doing it sooner.

#947272#27
Date:
2020-12-30 14:26:53 UTC
From:
To:
retitle 947272 blt: FTBFS with Tcl/Tk 8.7 (>= 8.7.0~a3): error:
argument 'argv' doesn't match prototype
severity 947272 serious
thanks

Hi Holger!

This bug is actually about blt 2.5.3+dfsg-5 and failure to build with
Tcl/Tk 8.7. So the serious severity is justified. The bug title is
misleading though, so I'm changing it. Sorry for not doing it sooner.

#947272#34
Date:
2020-12-30 15:26:16 UTC
From:
To:
Hi Sergei,

ah, cool!

now I just wonder why it still builds in unstable?

#947272#39
Date:
2020-12-30 15:36:23 UTC
From:
To:
Hi Holger,

There isn't Tcl/Tk 8.7 in unstable yet, only an alpha in experimantal.
After the Tcl/Tk 8.7 will be released, I'll deal with this bug in
unstable.

#947272#44
Date:
2020-12-30 18:24:26 UTC
From:
To:
ah, ok, makes sense.

probably it would still be nicer to downgrade this bug to severity important
until that tcl/tk version has reached unstable.

#947272#49
Date:
2021-01-01 10:21:13 UTC
From:
To:
severity 947272 important
thanks

Hi Holger,

You're right. Currently this bug does not have any impact on the
bullseye release.
I'm downgrading its severity.

#947272#56
Date:
2026-07-28 10:21:20 UTC
From:
To:
Hi!

I'm closing this bug because Tcl/Tk 8.7 is decided not to be released,
and is removed from Debian.

Cheers!