Subject: pkg/30070: lang/perl58 fails to build under Solaris 9
To: None <,,>
From: None <>
List: pkgsrc-bugs
Date: 04/27/2005 09:36:00
>Number:         30070
>Category:       pkg
>Synopsis:       lang/perl58 fails to build under Solaris 9
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Apr 27 09:36:00 +0000 2005
>Originator:     Andrew
>Release:        Solaris 9
SunOS astevens-ultra10 5.9 Generic_117171-15 sun4u sparc SUNW,Ultra-5_10
Trying to build lang/perl58 from a recently updated pkgsrc collection. Using gcc built from pkgsrc. I get:

/usr/pkg/pkgsrc/lang/perl58/work/.buildlink/gcc34/lib/gcc/sparc-sun-solaris2.9/3.4.3/include/stdio.h:161: warning: #pragma redefine_extname conflicts with declaration
In file included from perl.h:2838,
                 from toke.c:24:
/usr/pkg/pkgsrc/lang/perl58/work/.buildlink/gcc34/lib/gcc/sparc-sun-solaris2.9/3.4.3/include/math.h:23: warning: ignoring #pragma ident 
toke.c: In function `Perl_yylex':
toke.c:2558: error: cast to union type from type not present in union
*** Error code 1

bmake: stopped in /usr/pkg/pkgsrc/lang/perl58/work/perl-5.8.6

The stdio warnings occur quite a lot but seem to be non fatal.
Just run bmake in lang/perl58
Adding extra brackets (as per a suggestion via google) to toke.c:2558 seems to help this error though the build dies again later with a similar error and adding brackets there doesn't seem to help. Disabling large file support in perl is reported to help though I haven't tried.