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: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Jan 22 14:50:00 +0000 2015
>Closed-Date: Tue Jul 23 15:32:28 +0000 2024
>Last-Modified: Tue Jul 23 15:32:28 +0000 2024
>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 ;;
>Release-Note:
>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)
^
State-Changed-From-To: open->closed
State-Changed-By: scole@NetBSD.org
State-Changed-When: Tue, 23 Jul 2024 08:32:28 -0700
State-Changed-Why:
stale PR and haven't had this failure in a long time
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2024
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.