Bugzilla – Bug 1221691
GCC 14: hfsutils package fails
Last modified: 2024-05-13 09:39:38 UTC
Building hfsutils with GCC 14 fails here: https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:Gcc7/hfsutils/standard/x86_64 Due to (exhaustive list of errors): tclhfs.c: In function ‘direntstr’: tclhfs.c:193:26: error: passing argument 2 of ‘Tcl_Merge’ from incompatible pointer type [-Wincompatible-pointer-types] 193 | return Tcl_Merge(argc, argv); | ^~~~ | | | char ** In file included from /usr/include/tcl.h:2421, from tclhfs.c:37: /usr/include/tclDecls.h:584:66: note: expected ‘const char * const*’ but argument is of type ‘char **’ 584 | EXTERN char * Tcl_Merge(int argc, CONST84 char *const *argv); | ^ tclhfs.c: In function ‘file_ref’: tclhfs.c:510:36: error: passing argument 3 of ‘Tcl_CreateCommand’ from incompatible pointer type [-Wincompatible-pointer-types] 510 | file_cmd, fref, file_del); | ^~~~~~~~ | | | int (*)(void *, Tcl_Interp *, int, char **) /usr/include/tclDecls.h:303:67: note: expected ‘int (*)(void *, Tcl_Interp *, int, const char **)’ but argument is of type ‘int (*)(void *, Tcl_Interp *, int, char **)’ 303 | const char *cmdName, Tcl_CmdProc *proc, | ~~~~~~~~~~~~~^~~~ tclhfs.c: In function ‘vol_cmd’: tclhfs.c:892:61: error: passing argument 4 of ‘Tcl_SplitList’ from incompatible pointer type [-Wincompatible-pointer-types] 892 | if (Tcl_SplitList(interp, interp->result, &listc, &listv) != TCL_OK) | ^~~~~~ | | | char *** /usr/include/tclDecls.h:722:49: note: expected ‘const char ***’ but argument is of type ‘char ***’ 722 | CONST84 char ***argvPtr); | ^ tclhfs.c:904:37: error: passing argument 2 of ‘Tcl_Merge’ from incompatible pointer type [-Wincompatible-pointer-types] 904 | result = Tcl_Merge(listc, listv); | ^~~~~ | | | char ** tclhfs.c:1037:54: error: passing argument 4 of ‘Tcl_SplitList’ from incompatible pointer type [-Wincompatible-pointer-types] 1037 | if (Tcl_SplitList(interp, argv[2], &listc, &listv) != TCL_OK) | ^~~~~~ | | | char *** tclhfs.c:1049:37: error: passing argument 2 of ‘Tcl_Merge’ from incompatible pointer type [-Wincompatible-pointer-types] 1049 | result = Tcl_Merge(fargc, fargv); | ^~~~~ | | | char ** tclhfs.c: In function ‘cmd_hfs’: tclhfs.c:1238:25: error: passing argument 3 of ‘Tcl_CreateCommand’ from incompatible pointer type [-Wincompatible-pointer-types] 1238 | vol_cmd, vref, vol_del); | ^~~~~~~ | | | int (*)(void *, Tcl_Interp *, int, char **) tclhfs.c:1310:54: error: passing argument 4 of ‘Tcl_SplitList’ from incompatible pointer type [-Wincompatible-pointer-types] 1310 | if (Tcl_SplitList(interp, argv[5], &listc, &listv) != TCL_OK) | ^~~~~~ | | | char *** tclhfs.c: In function ‘Hfs_Init’: tclhfs.c:1480:38: error: passing argument 3 of ‘Tcl_CreateCommand’ from incompatible pointer type [-Wincompatible-pointer-types] 1480 | Tcl_CreateCommand(interp, "hfs", cmd_hfs, 0, 0); | ^~~~~~~ | | | int (*)(void *, Tcl_Interp *, int, char **) tclhfs.c:1481:38: error: passing argument 3 of ‘Tcl_CreateCommand’ from incompatible pointer type [-Wincompatible-pointer-types] 1481 | Tcl_CreateCommand(interp, "exit", cmd_exit, 0, 0); | ^~~~~~~~ | | | int (*)(void *, Tcl_Interp *, int, char **) See the meta bug#1220571 for more info.
On it! There are 2 kinds of errors, incompatible pointer type and deprecated declaration. I am on vacation and will come back beginning of April. But patches available at: https://build.opensuse.org/package/show/home:vlefebvre:branches:filesystems/hfsutils Need to be tested before to submit to Factory. Will do that in my return if no urgent.
Fixes has been merged to Factory. Believe all fix. Don't hesitate to re-open in case of wrong patches.