NetBSD Problem Report #50083

From www@NetBSD.org  Fri Jul 24 04:43:24 2015
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	(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 2E9B2A5864
	for <gnats-bugs@gnats.NetBSD.org>; Fri, 24 Jul 2015 04:43:24 +0000 (UTC)
Message-Id: <20150724044322.87C88A654F@mollari.NetBSD.org>
Date: Fri, 24 Jul 2015 04:43:22 +0000 (UTC)
From: davshao@gmail.com
Reply-To: davshao@gmail.com
To: gnats-bugs@NetBSD.org
Subject: x11/sessreg on DragonFly 4.3-DEVELOPMENT gcc5 needs Makefile CPP -P patch 
X-Send-Pr-Version: www-1.0

>Number:         50083
>Category:       pkg
>Synopsis:       x11/sessreg on DragonFly 4.3-DEVELOPMENT gcc5 needs Makefile CPP -P patch
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jul 24 04:45:00 +0000 2015
>Closed-Date:    Wed Jun 16 22:41:22 +0000 2021
>Last-Modified:  Wed Jun 16 22:41:22 +0000 2021
>Originator:     David Shao
>Release:        pkgsrc current
>Organization:
>Environment:
DragonFly  4.3-DEVELOPMENT DragonFly v4.2.2.96.g1d3c4-DEVELOPMENT #7: Thu Jul 23 17:41:09 PDT 2015     xxxxx@:/usr/obj/usr/src/sys/X86_64_GENERIC  x86_64
>Description:
Due to DragonFly 4.3-DEVELOPMENT now using the gcc 5.x series as the base compiler:

$ gcc --version
gcc 5.2.1 [DragonFly] Release/2015-07-18

x11/sessreg needs a patch to Makefile.  The DragonFly dports version of the patch is

CPP+=  -P

That didn't seem to work for pkgsrc, so I converted it to the following patch that does work.  Without the patch on DragonFly 4.3 one gets an error such as:

/usr/pkg/bin/bmake  all-recursive
Making all in man
  GEN      filenames.sed
  GEN      sessreg.1
sed: 3: filenames.sed: unescaped newline inside substitute pattern

Here is an example link explaining the problem:

http://www.linuxfromscratch.org/blfs/view/svn/x/x7app.html

"sed -e 's/\$(CPP) \$(DEFS)/$(CPP) -P $(DEFS)/' -i man/Makefile.in: with gcc-5 the behaviour of cpp was changed to emit line numbers. That results in unterminated sed commands in filenames.sed. Adding -P restores the old behaviour."

If this patch or something similar can be committed, all of meta-pkgs/modular-xorg-apps builds on DragonFly 4.3.
>How-To-Repeat:

>Fix:
--- Makefile.orig	2015-07-15 19:03:55.121593000 -0700
+++ Makefile	2015-07-19 08:51:47.600950000 -0700
@@ -16,6 +16,12 @@
 BUILD_DEFS+=	VARBASE
 CONFIGURE_ARGS+=--localstatedir=${VARBASE:Q}

+.include "../../mk/bsd.prefs.mk"
+.if ${OPSYS} == "DragonFly"
+# Required for gcc5+
+CPP_PRECOMP_FLAGS+=	-P
+.endif
+
 ###
 ### Please see patches/patch-ab for details on this.
 ###

>Release-Note:

>Audit-Trail:
From: David Holland <dholland-pbugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/50083: x11/sessreg on DragonFly 4.3-DEVELOPMENT gcc5 needs
 Makefile CPP -P patch
Date: Fri, 24 Jul 2015 05:25:37 +0000

 On Fri, Jul 24, 2015 at 04:45:00AM +0000, davshao@gmail.com wrote:
  > x11/sessreg needs a patch to Makefile.  The DragonFly dports
  > version of the patch is
  > 
  > CPP+=  -P
  > 
  > That didn't seem to work for pkgsrc, so I converted it to the
  > following patch that does work.  Without the patch on DragonFly 4.3
  > one gets an error such as:
  > 
  > /usr/pkg/bin/bmake  all-recursive
  > Making all in man
  >   GEN      filenames.sed
  >   GEN      sessreg.1
  > sed: 3: filenames.sed: unescaped newline inside substitute pattern

 Might be better to have it use tradcpp, whose behavior on non-C input
 is well defined and stable.

 (if so, it should be unconditional and not os-specific)

 -- 
 David A. Holland
 dholland@netbsd.org

From: David Shao <davshao@gmail.com>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/50083: x11/sessreg on DragonFly 4.3-DEVELOPMENT gcc5 needs
 Makefile CPP -P patch
Date: Mon, 7 Sep 2015 07:58:32 -0700

 On Thu, Jul 23, 2015 at 10:30 PM, David Holland
 <dholland-pbugs@netbsd.org> wrote:
 > The following reply was made to PR pkg/50083; it has been noted by GNATS.
 >
 > From: David Holland <dholland-pbugs@netbsd.org>
 > To: gnats-bugs@NetBSD.org
 > Cc:
 > Subject: Re: pkg/50083: x11/sessreg on DragonFly 4.3-DEVELOPMENT gcc5 needs
 >  Makefile CPP -P patch
 > Date: Fri, 24 Jul 2015 05:25:37 +0000
 >
 >  On Fri, Jul 24, 2015 at 04:45:00AM +0000, davshao@gmail.com wrote:
 >   > x11/sessreg needs a patch to Makefile.  The DragonFly dports
 >   > version of the patch is
 >   >
 >   > CPP+=  -P
 >   >
 >   > That didn't seem to work for pkgsrc, so I converted it to the
 >   > following patch that does work.  Without the patch on DragonFly 4.3
 >   > one gets an error such as:
 >   >
 >   > /usr/pkg/bin/bmake  all-recursive
 >   > Making all in man
 >   >   GEN      filenames.sed
 >   >   GEN      sessreg.1
 >   > sed: 3: filenames.sed: unescaped newline inside substitute pattern
 >
 >  Might be better to have it use tradcpp, whose behavior on non-C input
 >  is well defined and stable.
 >
 >  (if so, it should be unconditional and not os-specific)
 >
 >  --
 >  David A. Holland
 >  dholland@netbsd.org

 Unlike say x11/xinit, x11/sessreg's configure.ac and thus configure do not have

 XORG_PROG_RAWCPP

 Therefore the usual addition to the port Makefile of:

 TOOL_DEPENDS+=        tradcpp-[0-9]*:../../devel/tradcpp
 CONFIGURE_ENV+=        ac_cv_path_RAWCPP="${PREFIX}/bin/tradcpp -Uunix"

 does nothing to help x11/sessreg if using gcc5 on DragonFly 4.3-DEVELOPMENT.

State-Changed-From-To: open->closed
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Wed, 16 Jun 2021 22:41:22 +0000
State-Changed-Why:
a slightly different change was applied in 2016


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.