I spoke too soon. This change in pp.h resolves the problem in gv.c but now I get errors in pp_hot.c. Any more ideas? CCCMD = cc -n32 -DPERL_CORE -c -DPTHREAD_H_FIRST -D_BSD_TYPES -D_BSD_ TIME -woff 1184,1552 -I/usr/local/include -DLANGUAGE_C -O3 -OPT:Olimit=0:space=O N cc-1020 cc: ERROR File = pp_hot.c, Line = 101 The identifier "TOP" is undefined. dSP; dPOPTOPssrl; ^ cc-1065 cc: ERROR File = pp_hot.c, Line = 101 A semicolon is expected at this point. dSP; dPOPTOPssrl; ^ cc-1020 cc: ERROR File = pp_hot.c, Line = 136 The identifier "concat" is undefined. dSP; dATARGET; tryAMAGICbin(concat,opASSIGN); ^ cc-1162 cc: ERROR File = pp_hot.c, Line = 136 Too few arguments in function call. dSP; dATARGET; tryAMAGICbin(concat,opASSIGN); ^ cc-1018 cc: ERROR File = pp_hot.c, Line = 136 An unmatched left parentheses "(" appears in an expression. dSP; dATARGET; tryAMAGICbin(concat,opASSIGN); ^ > jim@rrsl.rsmas.miami.edu (via RT) wrote: > > > > Since I installed IRIX 7.4.1m compiler updates I cannot build > > perl (either 5.8.1 or 5.8.2). I get an error compiling gv.c. > > > > How do I workaround or fix this compilation problem? > > I don't see anything in README.irix about this issue. > > > > I used IRIX 7.4m compilers to build and install perl 5.8.0. > > I'd say it's a bug with your C preprocessor. > > Can you try the modification below, to see whether it solves your problem? > (basically it only expands a CAT2 macro) > > ==== //depot/perl/pp.h#54 - /opt/p4/perl/pp.h ==== > @@ -385,7 +385,7 @@ > changed SV* ref to SV* tmpRef */ > #define RvDEEPCP(rv) STMT_START { SV* tmpRef=SvRV(rv); \ > if (SvREFCNT(tmpRef)>1) { \ > - SvRV(rv)=AMG_CALLun(rv,copy); \ > + SvRV(rv)=amagic_call(rv,&PL_sv_undef,copy_amg,AMGf_noright | AMGf_unary); \ > SvREFCNT_dec(tmpRef); \ > } } STMT_END > > > compile error messages: > > CCCMD = cc -n32 -DPERL_CORE -c -DPTHREAD_H_FIRST -D_BSD_TYPES -D_BSD_TIME -woff 1184,1552 -I/usr/local/include -DLANGUAGE_C -O3 -OPT:Olimit=0:space=ON > > cc-1020 cc: ERROR File = gv.c, Line = 1712 > > The identifier "copy" is undefined. > > > > RvDEEPCP(left); > > ^Thread Previous | Thread Next