NetBSD Problem Report #50753

From www@NetBSD.org  Tue Feb  2 23:59:22 2016
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.NetBSD.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id E69117ABE7
	for <gnats-bugs@gnats.NetBSD.org>; Tue,  2 Feb 2016 23:59:21 +0000 (UTC)
Message-Id: <20160202235920.C02BF7ACB5@mollari.NetBSD.org>
Date: Tue,  2 Feb 2016 23:59:20 +0000 (UTC)
From: coypu@sdf.org
Reply-To: coypu@sdf.org
To: gnats-bugs@NetBSD.org
Subject: pkg-config build failure with gcc6 defaults (linux)
X-Send-Pr-Version: www-1.0

>Number:         50753
>Category:       pkg
>Synopsis:       pkg-config build failure with gcc6 defaults (linux)
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Feb 03 00:00:00 +0000 2016
>Closed-Date:    Tue Feb 23 11:28:38 +0000 2016
>Last-Modified:  Tue Feb 23 12:25:00 +0000 2016
>Originator:     coypu
>Release:        pkgsrc-current
>Organization:
>Environment:
Linux localhost.localdomain 4.5.0-0.rc1.git2.1.fc24.x86_64 #1 SMP Fri Jan 29 18:55:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
>Description:
strftime expects third parameter to be a const char (this is true for NetBSD, too).

gdate.c:2497:7: error: format not a string literal, format string not checked [-Werror=format-nonliteral]
       tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
       ^~~~~~


>How-To-Repeat:
build pkg-config or glib2 with -Werror=format-nonliteral
>Fix:
I've hacked it together with CFLAGS+=-Wno-error=format-nonliteral
the same exists for devel/glib2, too.

There is probably a better way to fix this.

>Release-Note:

>Audit-Trail:
From: Patrick Welche <prlw1@cam.ac.uk>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/50753: pkg-config build failure with gcc6 defaults (linux)
Date: Thu, 4 Feb 2016 11:08:00 +0000

 Any chance you could test glib (git clone git://git.gnome.org/glib) on
 your gcc6 system, and file a bug at https://bugzilla.gnome.org/ ?
 (A quick look suggests that upstream doesn't know about this...)

From: coypu@SDF.ORG
To: gnats-bugs@NetBSD.org
Cc: prlw1@cam.ac.uk
Subject: Re: pkg/50753: pkg-config build failure with gcc6 defaults (linux)
Date: Thu, 4 Feb 2016 12:59:44 +0000

 Reported and added a marginally nicer fix.
 https://bugzilla.gnome.org/show_bug.cgi?id=761550

From: coypu <coypu@sdf.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/50753: pkg-config build failure with gcc6 defaults (linux)
Date: Tue, 9 Feb 2016 20:13:41 +0000

 glib: fix build with -Werror=format-nonliteral

 Same change for pkg-config which has a copy of glib.
 ---
  devel/glib2/distinfo                             |  1 +
  devel/glib2/patches/patch-glib_gdate.c           | 18 ++++++++++++++++++
  devel/pkg-config/distinfo                        |  1 +
  devel/pkg-config/patches/patch-glib_glib_gdate.c | 18 ++++++++++++++++++
  4 files changed, 38 insertions(+)
  create mode 100644 devel/glib2/patches/patch-glib_gdate.c
  create mode 100644 devel/pkg-config/patches/patch-glib_glib_gdate.c

 diff --git a/devel/glib2/distinfo b/devel/glib2/distinfo
 index ada3540..05f303e 100644
 --- a/devel/glib2/distinfo
 +++ b/devel/glib2/distinfo
 @@ -25,6 +25,7 @@ SHA1 (patch-gio_gdbusauthmechanismsha1.c) = dfbd4a85ea842f11e4bb76d39c5509fb8b0d
  SHA1 (patch-gio_gresource-tool.c) = 4eb7c9df25e9ac3e977edf3be8fb977a6fb39182
  SHA1 (patch-gio_gtestdbus.c) = 562d8b2f3c235d27a2ba252ff1a778b8b3e4c413
  SHA1 (patch-gio_gunixmounts.c) = 40edf6a79d37bf8eca38d0f84521a7538443c00c
 +SHA1 (patch-glib_gdate.c) = e3132f5f2ae024603af3d382d453e23c2a6d2e08
  SHA1 (patch-glib_gmain.c) = d09ff66e475ee52d37ac0dcb463110f690ce6511
  SHA1 (patch-glib_gthread-posix.c) = ca93c8dc358453eb79b518c884464c90d7628888
  SHA1 (patch-glib_gtimezone.c) = d9686da52f171a073d80cfd9f80aa490088a00a3
 diff --git a/devel/glib2/patches/patch-glib_gdate.c b/devel/glib2/patches/patch-glib_gdate.c
 new file mode 100644
 index 0000000..140fc43
 --- /dev/null
 +++ b/devel/glib2/patches/patch-glib_gdate.c
 @@ -0,0 +1,18 @@
 +$NetBSD$
 +
 +https://git.gnome.org/browse/glib/commit/?id=0817af40e8c74c721c30f6ef482b1f53d12044c7
 +Merged upstream. Remove this in next release.
 +
 +--- glib/gdate.c.orig	2014-12-19 21:49:48.000000000 +0000
 ++++ glib/gdate.c
 +@@ -2494,7 +2494,10 @@ g_date_strftime (gchar       *s, 
 +        * recognize whether strftime actually failed or just returned "".
 +        */
 +       tmpbuf[0] = '\1';
 ++      #pragma GCC diagnostic push
 ++      #pragma GCC diagnostic ignored "-Wformat-nonliteral"
 +       tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
 ++      #pragma GCC diagnostic pop
 + 
 +       if (tmplen == 0 && tmpbuf[0] != '\0')
 +         {
 diff --git a/devel/pkg-config/distinfo b/devel/pkg-config/distinfo
 index 73b5b97..e52db59 100644
 --- a/devel/pkg-config/distinfo
 +++ b/devel/pkg-config/distinfo
 @@ -6,4 +6,5 @@ SHA512 (pkg-config-0.29.tar.gz) = c2857cd67801c0db5d204912453ff6bdc7da3ea61f8b1c
  Size (pkg-config-0.29.tar.gz) = 1973875 bytes
  SHA1 (patch-configure) = 6847644b9df3e3e2334f7c45bcbb2d3b7734d165
  SHA1 (patch-glib_configure) = 5080a19186a948ba305278cef91ec76a920429e4
 +SHA1 (patch-glib_glib_gdate.c) = 97ee5e99b941a04c8c1a8ac4dd552923d2f8b541
  SHA1 (patch-glib_glib_gtimer.c) = ee877a6c148b148a86f9087960863cfa8305bbf7
 diff --git a/devel/pkg-config/patches/patch-glib_glib_gdate.c b/devel/pkg-config/patches/patch-glib_glib_gdate.c
 new file mode 100644
 index 0000000..87eeb5c
 --- /dev/null
 +++ b/devel/pkg-config/patches/patch-glib_glib_gdate.c
 @@ -0,0 +1,18 @@
 +$NetBSD$
 +
 +https://git.gnome.org/browse/glib/commit/?id=0817af40e8c74c721c30f6ef482b1f53d12044c7
 +Merged upstream. Remove this in next release.
 +
 +--- glib/glib/gdate.c.orig	2014-02-08 17:57:06.000000000 +0000
 ++++ glib/glib/gdate.c
 +@@ -2494,7 +2494,10 @@ g_date_strftime (gchar       *s, 
 +        * recognize whether strftime actually failed or just returned "".
 +        */
 +       tmpbuf[0] = '\1';
 ++      #pragma GCC diagnostic push
 ++      #pragma GCC diagnostic ignored "-Wformat-nonliteral"
 +       tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
 ++      #pragma GCC diagnostic pop
 + 
 +       if (tmplen == 0 && tmpbuf[0] != '\0')
 +         {
 -- 
 2.7.0


 -- 

State-Changed-From-To: open->closed
State-Changed-By: wiz@NetBSD.org
State-Changed-When: Tue, 23 Feb 2016 11:28:38 +0000
State-Changed-Why:
Fixed, thanks!


From: "Thomas Klausner" <wiz@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/50753 CVS commit: pkgsrc/devel/glib2
Date: Tue, 23 Feb 2016 11:27:56 +0000

 Module Name:	pkgsrc
 Committed By:	wiz
 Date:		Tue Feb 23 11:27:55 UTC 2016

 Modified Files:
 	pkgsrc/devel/glib2: distinfo
 	pkgsrc/devel/glib2/patches: patch-aa patch-ak
 Added Files:
 	pkgsrc/devel/glib2/patches: patch-glib_gdate.c

 Log Message:
 Fix build on systems where format-nonliteral is turned on by default.

 From coypu in PR 50753; already merged upstream.

 While here, regen two patches.


 To generate a diff of this commit:
 cvs rdiff -u -r1.212 -r1.213 pkgsrc/devel/glib2/distinfo
 cvs rdiff -u -r1.58 -r1.59 pkgsrc/devel/glib2/patches/patch-aa
 cvs rdiff -u -r1.18 -r1.19 pkgsrc/devel/glib2/patches/patch-ak
 cvs rdiff -u -r0 -r1.1 pkgsrc/devel/glib2/patches/patch-glib_gdate.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Thomas Klausner" <wiz@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/50753 CVS commit: pkgsrc/devel/pkg-config
Date: Tue, 23 Feb 2016 11:28:25 +0000

 Module Name:	pkgsrc
 Committed By:	wiz
 Date:		Tue Feb 23 11:28:25 UTC 2016

 Modified Files:
 	pkgsrc/devel/pkg-config: distinfo
 Added Files:
 	pkgsrc/devel/pkg-config/patches: patch-glib_glib_gdate.c

 Log Message:
 Fix build on systems where format-nonliteral is turned on by default.

 From coypu in PR 50753; already merged upstream.

 (needed because this includes a copy of glib2...)


 To generate a diff of this commit:
 cvs rdiff -u -r1.31 -r1.32 pkgsrc/devel/pkg-config/distinfo
 cvs rdiff -u -r0 -r1.1 \
     pkgsrc/devel/pkg-config/patches/patch-glib_glib_gdate.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: Joerg Sonnenberger <joerg@britannica.bec.de>
To: gnats-bugs@NetBSD.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org,
	coypu@sdf.org
Subject: Re: pkg/50753: pkg-config build failure with gcc6 defaults (linux)
Date: Tue, 23 Feb 2016 13:21:34 +0100

 On Tue, Feb 09, 2016 at 08:15:01PM +0000, coypu wrote:
 >  --- /dev/null
 >  +++ b/devel/glib2/patches/patch-glib_gdate.c
 >  @@ -0,0 +1,18 @@
 >  +$NetBSD$
 >  +
 >  +https://git.gnome.org/browse/glib/commit/?id=0817af40e8c74c721c30f6ef482b1f53d12044c7
 >  +Merged upstream. Remove this in next release.
 >  +
 >  +--- glib/gdate.c.orig	2014-12-19 21:49:48.000000000 +0000
 >  ++++ glib/gdate.c
 >  +@@ -2494,7 +2494,10 @@ g_date_strftime (gchar       *s, 
 >  +        * recognize whether strftime actually failed or just returned "".
 >  +        */
 >  +       tmpbuf[0] = '\1';
 >  ++      #pragma GCC diagnostic push
 >  ++      #pragma GCC diagnostic ignored "-Wformat-nonliteral"
 >  +       tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
 >  ++      #pragma GCC diagnostic pop
 >  + 
 >  +       if (tmplen == 0 && tmpbuf[0] != '\0')
 >  +         {

 Please fill a GCC bug report for this. There is nothing unsafe about
 using non-literal format strings with strftime.

 Joerg

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.