> On Fri, Nov 14, 2003 at 10:15:07AM +0100, Rafael Garcia-Suarez wrote: > > 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 > > > > If that just moved the error further on, what happens with the build if > > a: you edit config.h to remove these lines: > > #if 42 == 1 > #define CAT2(a,b) a/**/b > #define STRINGIFY(a) "a" > /* If you can get stringification with catify, tell me how! */ > #endif > > b: you 'restore' those lines, and add a #error directive inside them My config.h file has #if 1 == 1 #define CAT2(a,b) a/**/b ... and #if 1 == 42 #define PeRl_CaTiFy(a, b) a ## b ... Do you want me to switch the 1 == 1 and 1 == 42 guard statements?Thread Previous | Thread Next