Hi, 

I've accepted a patch into upstream that fixes the format errors. 

        Roger. 

On Mon, Nov 15, 2021 at 05:21:45PM +0100, Lukas Märdian wrote:
> Package: mtr
> Version: 0.94-2
> Severity: serious
> Tags: patch ftbfs
> Justification: fails to build from source (but built successfully in the past)
> User: ubuntu-de...@lists.ubuntu.com
> Usertags: origin-ubuntu jammy ubuntu-patch
> X-Debbugs-Cc: sl...@ubuntu.com
> 
> Hi Robert,
> 
> mtr fails to build from source, if compiled against glib2.0 >= v2.70, due to 
> usage of deprecated GTimeVal in gtk+2.0 headers (that's a dependency of mtr).
> 
> In Ubuntu, the attached patch was applied to achieve the following:
> 
>   * Fix FTBFS with glib >= 2.70 & deprecated definitions of GTimeVal in 
> gtk+2.0
> 
> 
> Thanks for considering the patch.
> 
> Cheers,
>   Lukas
> 
> Build log:
> gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2 -pthread 
> -I/usr/include/gtk-2.0 -I/usr/lib/s390x-linux-gnu/gtk-2.0/include 
> -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 
> -I/usr/include/libpng16 -I/usr/include/s390x-linux-gnu 
> -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 
> -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi 
> -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/harfbuzz 
> -I/usr/include/glib-2.0 -I/usr/lib/s390x-linux-gnu/glib-2.0/include 
> -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16    -g 
> -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects 
> -fstack-protector-strong -Wformat -Werror=format-security -Wall 
> -Wno-pointer-sign -c -o ui/mtr-gtk.o `test -f 'ui/gtk.c' || echo 
> '../'`ui/gtk.c
> ../ui/curses.c: In function ‘mtr_curses_hosts’:
> ../ui/curses.c:435:17: error: format not a string literal and no format 
> arguments [-Werror=format-security]
>   435 |                 printw(fmt_ipinfo(ctl, addr));
>       |                 ^~~~~~
> ../ui/curses.c:488:21: error: format not a string literal and no format 
> arguments [-Werror=format-security]
>   488 |                     printw(fmt_ipinfo(ctl, addrs));
>       |                     ^~~~~~
> ../ui/curses.c: In function ‘mtr_curses_graph’:
> ../ui/curses.c:653:17: error: format not a string literal and no format 
> arguments [-Werror=format-security]
>   653 |                 printw(fmt_ipinfo(ctl, addr));
>       |                 ^~~~~~
> ../ui/curses.c: In function ‘mtr_curses_redraw’:
> ../ui/curses.c:703:5: error: format not a string literal and no format 
> arguments [-Werror=format-security]
>   703 |     mvprintw(1, maxx - 25, iso_time(&t));
>       |     ^~~~~~~~
> ../ui/curses.c:763:42: error: format not a string literal and no format 
> arguments [-Werror=format-security]
>   763 |         mvprintw(rowstat - 1, startstat, msg);
>       |                                          ^~~
> gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects 
> -fstack-protector-strong -Wformat -Werror=format-security -Wall 
> -Wno-pointer-sign -c -o packet/packet.o ../packet/packet.c
> gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects 
> -fstack-protector-strong -Wformat -Werror=format-security -Wall 
> -Wno-pointer-sign -c -o packet/cmdparse.o ../packet/cmdparse.c
> gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects 
> -fstack-protector-strong -Wformat -Werror=format-security -Wall 
> -Wno-pointer-sign -c -o packet/command.o ../packet/command.c
> gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects 
> -fstack-protector-strong -Wformat -Werror=format-security -Wall 
> -Wno-pointer-sign -c -o packet/probe.o ../packet/probe.c
> In file included from /usr/include/gtk-2.0/gtk/gtkobject.h:37,
>                  from /usr/include/gtk-2.0/gtk/gtkwidget.h:36,
>                  from /usr/include/gtk-2.0/gtk/gtkcontainer.h:35,
>                  from /usr/include/gtk-2.0/gtk/gtkbin.h:35,
>                  from /usr/include/gtk-2.0/gtk/gtkwindow.h:36,
>                  from /usr/include/gtk-2.0/gtk/gtkdialog.h:35,
>                  from /usr/include/gtk-2.0/gtk/gtkaboutdialog.h:32,
>                  from /usr/include/gtk-2.0/gtk/gtk.h:33,
>                  from ../ui/gtk.c:31:
> /usr/include/gtk-2.0/gtk/gtktypeutils.h:236:1: warning: ‘GTypeDebugFlags’ is 
> deprecated [-Wdeprecated-declarations]
>   236 | void            gtk_type_init   (GTypeDebugFlags    debug_flags);
>       | ^~~~
> In file included from /usr/include/glib-2.0/gobject/gobject.h:24,
>                  from /usr/include/glib-2.0/gobject/gbinding.h:29,
>                  from /usr/include/glib-2.0/glib-object.h:22,
>                  from /usr/include/glib-2.0/gio/gioenums.h:28,
>                  from /usr/include/glib-2.0/gio/giotypes.h:28,
>                  from /usr/include/glib-2.0/gio/gio.h:26,
>                  from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
>                  from /usr/include/gtk-2.0/gdk/gdk.h:32,
>                  from /usr/include/gtk-2.0/gtk/gtk.h:32,
>                  from ../ui/gtk.c:31:
> /usr/include/glib-2.0/gobject/gtype.h:698:1: note: declared here
>   698 | {
>       | ^
> In file included from /usr/include/string.h:519,
>                  from ../packet/probe.c:31:
> In function ‘strncat’,
>     inlined from ‘respond_to_probe’ at ../packet/probe.c:296:9:
> /usr/include/s390x-linux-gnu/bits/string_fortified.h:135:10: warning: 
> ‘__strncat_chk’ output may be truncated copying between 0 and 4095 bytes from 
> a string of length 4095 [-Wstringop-truncation]
>   135 |   return __builtin___strncat_chk (__dest, __src, __len,
>       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   136 |                                   __glibc_objsize (__dest));
>       |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/gtk-2.0/gtk/gtktoolitem.h:31,
>                  from /usr/include/gtk-2.0/gtk/gtktoolbutton.h:30,
>                  from /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h:30,
>                  from /usr/include/gtk-2.0/gtk/gtk.h:126,
>                  from ../ui/gtk.c:31:
> /usr/include/gtk-2.0/gtk/gtktooltips.h:73:3: warning: ‘GTimeVal’ is 
> deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
>    73 |   GTimeVal last_popdown;
>       |   ^~~~~~~~
> In file included from /usr/include/glib-2.0/glib/galloca.h:32,
>                  from /usr/include/glib-2.0/glib.h:30,
>                  from /usr/include/glib-2.0/gobject/gbinding.h:28,
>                  from /usr/include/glib-2.0/glib-object.h:22,
>                  from /usr/include/glib-2.0/gio/gioenums.h:28,
>                  from /usr/include/glib-2.0/gio/giotypes.h:28,
>                  from /usr/include/glib-2.0/gio/gio.h:26,
>                  from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
>                  from /usr/include/gtk-2.0/gdk/gdk.h:32,
>                  from /usr/include/gtk-2.0/gtk/gtk.h:32,
>                  from ../ui/gtk.c:31:
> /usr/include/glib-2.0/glib/gtypes.h:547:8: note: declared here
>   547 | struct _GTimeVal
>       |        ^~~~~~~~~
> gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects 
> -fstack-protector-strong -Wformat -Werror=format-security -Wall 
> -Wno-pointer-sign -c -o packet/timeval.o ../packet/timeval.c
> gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects 
> -fstack-protector-strong -Wformat -Werror=format-security -Wall 
> -Wno-pointer-sign -c -o packet/sockaddr.o ../packet/sockaddr.c
> gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects 
> -fstack-protector-strong -Wformat -Werror=format-security -Wall 
> -Wno-pointer-sign -c -o packet/construct_unix.o ../packet/construct_unix.c
> gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects 
> -fstack-protector-strong -Wformat -Werror=format-security -Wall 
> -Wno-pointer-sign -c -o packet/deconstruct_unix.o ../packet/deconstruct_unix.c
> cc1: some warnings being treated as errors
> make[2]: *** [Makefile:1159: ui/mtr-curses.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[2]: Leaving directory '/<<PKGBUILDDIR>>/mtr'
> dh_auto_install: error: cd mtr && make -j4 install 
> DESTDIR=/<<PKGBUILDDIR>>/debian/mtr AM_UPDATE_INFO_DIR=no returned exit code 2
> make[1]: *** [debian/rules:39: override_dh_installdirs-arch] Error 25
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> make: *** [debian/rules:7: binary-arch] Error 2
> dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit 
> status 2
> 
> 
> -- System Information:
> Debian Release: 11.0
>   APT prefers impish-updates
>   APT policy: (500, 'impish-updates'), (500, 'impish-security'), (500, 
> 'impish'), (100, 'impish-backports')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
> 
> Kernel: Linux 5.13.0-20-generic (SMP w/4 CPU threads)
> Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, TAINT_OOT_MODULE
> Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), 
> LANGUAGE=de_DE:en_GB:en
> Shell: /bin/sh linked to /usr/bin/dash
> Init: systemd (via /run/systemd/system)
> LSM: AppArmor: enabled

> diff -Nru mtr-0.94/debian/rules mtr-0.94/debian/rules
> --- mtr-0.94/debian/rules     2021-08-23 20:17:06.000000000 +0200
> +++ mtr-0.94/debian/rules     2021-11-15 16:58:04.000000000 +0100
> @@ -2,6 +2,7 @@
>  
>  export DEB_BUILD_MAINT_OPTIONS = hardening=+all
>  export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
> +export DEB_CFLAGS_MAINT_APPEND = -Wno-error=deprecated-declarations 
> -Wno-error=format-security
>  
>  %:
>       dh $@


-- 
** r.e.wo...@bitwizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 **
**    Delftechpark 11 2628 XJ  Delft, The Netherlands.  KVK: 27239233    **
f equals m times a. When your f is steady, and your m is going down
your a is going up.  -- Chris Hadfield about flying up the space shuttle.

Reply via email to