NetBSD Problem Report #49598

From www@NetBSD.org  Thu Jan 22 14:49:09 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 E354EA5B2E
	for <gnats-bugs@gnats.NetBSD.org>; Thu, 22 Jan 2015 14:49:09 +0000 (UTC)
Message-Id: <20150122144908.962FFA65B8@mollari.NetBSD.org>
Date: Thu, 22 Jan 2015 14:49:08 +0000 (UTC)
From: scole_mail@gmx.com
Reply-To: scole_mail@gmx.com
To: gnats-bugs@NetBSD.org
Subject: perl5 build failures on powerpc 601
X-Send-Pr-Version: www-1.0

>Number:         49598
>Category:       pkg
>Synopsis:       perl5 build failures on powerpc 601
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jan 22 14:50:00 +0000 2015
>Last-Modified:  Wed Aug 05 18:25:00 +0000 2015
>Originator:     scole_mail
>Release:        pkgsrc current around Jan 19 2015
>Organization:
>Environment:
NetBSD pm7200 7.99.4 NetBSD 7.99.4 (GENERIC-$Revision: 1.7 $) #25: Mon Jan 12 09:48:55 EST 2015  scole@dstar:/home/scole/nbsd/src/sys/arch/macppc/compile/obj/GENERIC_601 macppc
>Description:
Building perl-5.20.1 has build errors, first is with the macro __GNUC_PREREQ__

../../miniperl -I../../lib Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PERL_CORE=1 LIBPERL_A=libperl.so
Generating a Unix-style Makefile
Writing Makefile for Errno
Making all in ext/Errno
/mnt/disk1/package/bin/bmake all PERL_CORE=1 LIBPERL_A=libperl.so
../../miniperl "-I../../lib" "-I../../lib" Errno_pm.PL Errno.pm
/usr/include/sys/cdefs_elf.h:67:20: error: missing binary operator before token "("
 #if __GNUC_PREREQ__(4, 0)

second is about mallocwrap:
Running Makefile.PL in cpan/Term-Cap
../../miniperl -I../../lib Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PERL_CORE=1 LIBPERL_A=libperl.so
panic: memory wrap at /mnt/disk1/pkgsrc/lang/perl5/work/perl-5.20.1/lib/Config_heavy.pl line 1283.
Compilation failed in require at /mnt/disk1/pkgsrc/lang/perl5/work/perl-5.20.1/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm line 9.
BEGIN failed--compilation aborted at /mnt/disk1/pkgsrc/lang/perl5/work/perl-5.20.1/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm line 9.
Compilation failed in require at Makefile.PL line 7.
BEGIN failed--compilation aborted at Makefile.PL line 7.
65280 from cpan/Term-Cap's Makefile.PL at make_ext.pl line 508.
Warning: No Makefile!
bmake: don't know how to make config. Stop

The first error doesn't stop the compilation, the second does.

>How-To-Repeat:
cd .../pkgsrc/lang/perl5 && bmake install
>Fix:
Not sure about cdefs_elf.h, but changing line 67 from
     #if __GNUC_PREREQ__(4,0)
to
     #if 1
allows the compilation to continue.

For the wrap error, changing perl-5.20.1/hints/netbsd.sh not to use mallocwrap seems to work:
from
     '') usemallocwrap='define' ;;
to
     '') usemallocwrap=n ;;



>Audit-Trail:
From: scole_mail <scole_mail@gmx.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/49598
Date: Fri, 23 Jan 2015 11:21:17 -0500

 After getting farther along, got this failure:

 Creating Makefile.PL in dist/threads for threads

 Running Makefile.PL in dist/threads
 ../../miniperl -I../../lib Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PERL_CORE=1 LIBPERL_A=libperl.so LINKTYPE=dynamic
 Generating a Unix-style Makefile
 Writing Makefile for threads
 Invalid version format (non-numeric data) at /mnt/disk1/pkgsrc/lang/perl5/work/perl-5.20.1/dist/ExtUtils-Command/lib/ExtUtils/Command.pm line 3.
 BEGIN failed--compilation aborted at /mnt/disk1/pkgsrc/lang/perl5/work/perl-5.20.1/dist/ExtUtils-Command/lib/ExtUtils/Command.pm line 3.
 Compilation failed in require.
 BEGIN failed--compilation aborted.
 *** Error code 255

From: "John D. Baker" <jdbaker@mylinuxisp.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/49598: perl5 build failures on powerpc 601
Date: Sat, 24 Jan 2015 01:09:20 -0600 (CST)

 Building perl on NetBSD/powerpc ports has been a pain for a long time,
 not just on PPC601.  I've wrestled with the "panic: memory wrap" failure
 on G3 and G4 powermacs, even with 2GB real memory and plenty of swap.

 So, I've recently gotten my PowerMac G4 (AGP Graphics) online again and
 am updating packages.  Naturally, I run into the memory wrap panic again.

 Just for grins, I took a look at "lang/perl5/hacks.mk" and see a powerpc
 hack that's been in place for over 10 years.  It disables all optimization.

 I figured I'd try disabling the hack (comment out the BUILDLINK_TRANSFORM
 line) like this:

 +Index: lang/perl5/hacks.mk
 +===================================================================
 +RCS file: /cvsroot/pkgsrc/lang/perl5/hacks.mk,v
 +retrieving revision 1.14
 +diff -u -p -r1.14 hacks.mk
 +--- lang/perl5/hacks.mk	15 Dec 2014 11:46:35 -0000	1.14
 ++++ lang/perl5/hacks.mk	24 Jan 2015 07:03:47 -0000
 +@@ -35,7 +35,7 @@ CFLAGS+=	-DDEBUGGING -g -msoft-quad-floa
 + ###
 + .if !empty(CC_VERSION:Mgcc*) && !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc)
 + PKG_HACKS+=		powerpc-codegen
 +-BUILDLINK_TRANSFORM+=	rm:-O[0-9]*
 ++#BUILDLINK_TRANSFORM+=	rm:-O[0-9]*
 + .endif
 + 
 + ### [Mon May 9 15:35:44 UTC 2005 : jlam]


 I didn't suffer a single memory wrap panic the whole time.

 There was one hang-up, literally.  At one point, 'miniperl' was just
 spinning on the CPU.  I hit ctrl-C and it exited.  I restarted the
 build and it completed.

 My perl installation is now updated.

 Perhaps try this on your 601-based system?

 -- 
 |/"\ John D. Baker, KN5UKS               NetBSD     Darwin/MacOS X
 |\ / jdbaker[snail]mylinuxisp[flyspeck]com    OpenBSD            FreeBSD
 | X  No HTML/proprietary data in email.   BSD just sits there and works!
 |/ \ GPGkeyID:  D703 4A7E 479F 63F8 D3F4  BD99 9572 8F23 E4AD 1645

From: scole_mail <scole_mail@gmx.com>
To: gnats-bugs@NetBSD.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/49598: perl5 build failures on powerpc 601
Date: Sat, 24 Jan 2015 08:05:33 -0500

 On Sat, Jan 24, 2015 at 07:10:02AM +0000, John D. Baker wrote:
 > 
 >  My perl installation is now updated.
 >  
 >  Perhaps try this on your 601-based system?
 >  

 I'll give the hacks.mk a try.

 For this error:

 BEGIN failed--compilation aborted at /mnt/disk1/pkgsrc/lang/perl5/work/perl-5.20.1/dist/ExtUtils-Command/lib/ExtUtils/Command.pm line 3.
  Compilation failed in require.
  BEGIN failed--compilation aborted.

 I found that the line

   use 5.00503;

 was causing problems, so commenting it out allowed the compilation to
 continue.  I think there were 3 other files that had the same problem,
 at least during my compilation.

 Thanks

From: scole_mail <scole_mail@gmx.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/49598: perl5 build failures on powerpc 601
Date: Sun, 25 Jan 2015 08:51:11 -0500

 I tried compiling with just the hacks.mk change and appeared to get
 more memory-wrap errors.

 Also, it seems the "BEGIN failed" errors for

  use 5.00503;

 are inconsistent.  Just rerunning bmake again will sometimes cause
 problem to not happen for the same file.

From: scole_mail <scole_mail@gmx.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/49598
Date: Tue, 10 Feb 2015 09:26:20 -0500

 Apparently the perl/malloc-wrap issue occurs  on cobalt too:

 http://mail-index.netbsd.org/port-cobalt/2014/11/01/msg000602.html

 Thanks

From: "Benny Siegert" <bsiegert@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/49598 CVS commit: pkgsrc/lang/perl5
Date: Sun, 17 May 2015 12:57:16 +0000

 Module Name:	pkgsrc
 Committed By:	bsiegert
 Date:		Sun May 17 12:57:16 UTC 2015

 Modified Files:
 	pkgsrc/lang/perl5: hacks.mk

 Log Message:
 Remove powerpc compiler workaround that was put in place 11 years ago.
 According to John D. Baker in PR pkg/49598, this helps compiling perl on
 his PowerPC system.


 To generate a diff of this commit:
 cvs rdiff -u -r1.15 -r1.16 pkgsrc/lang/perl5/hacks.mk

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

From: scole_mail <scole_mail@gmx.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/49598
Date: Wed, 5 Aug 2015 14:20:42 -0400

 I tried recompiling this again with version in stable pkgsrc (5.22.0) and current and get these errors now:

 LD_LIBRARY_PATH=/usr/pkgsrc/lang/perl5/work/perl\-5.22.0 ./miniperl -Ilib make_ext.pl ext/Errno/pm_to_blib  MAKE="/usr/pkg/bin/bmake" LIBPERL_A=libperl.so
 Generating a Unix-style Makefile
 Writing Makefile for Errno
 "../../miniperl" "-I../../lib" "-I../../lib" Errno_pm.PL Errno.pm
 /usr/include/sys/cdefs_elf.h:67:20: error: missing binary operator before token "("
  #if __GNUC_PREREQ__(4, 0)
                     ^
 /usr/include/sys/cdefs_elf.h:73:20: error: missing binary operator before token "("
  #if __GNUC_PREREQ__(4, 0)
                     ^
 /usr/include/sys/cdefs_elf.h:79:20: error: missing binary operator before token "("
  #if __GNUC_PREREQ__(4, 2)
                     ^

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.