Perl 5.8.2 gv.c compiles with this change to pp.h (you left out the ;). I will report this C preprocessor problem to SGI. Thank you for your help. > > 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