----- Original Message ----- From: "Ira Woodhead" <[EMAIL PROTECTED]> To: <inline@perl.org> Cc: "Ira Woodhead" <[EMAIL PROTECTED]> Sent: Friday, January 20, 2006 6:49 AM Subject: activestate not compiling Text::Scan?
> Greetings Inliners! > > I've gotten some complaints from users of my module Text::Scan, that it is no longer installable as a precompiled binary via ActiveState's "ppm" command. Any ideas why not? Is there some place I can go to look at error messages or something? (I've already fruitlessly searched for such a way) Go to http://ppm.activestate.com/BuildStatus/ and follow the appropriate links. In this case, click on the link to '5.8-T.html', scroll down to 'Text-Scan' and click on the 'FAIL' link in the Windows column. There you'll see essentially the same error as was reported by the user. Note that it's also listed as failing for solaris and hpux-pa-risc. The solaris failure is because the 'dumptrie' tests fail - the hpux failure appears to be bogus (as sometimes happens on these pages for some reason). I think, wrt perl-5.8.x on Win32, the problem is your usage of getc() - which XSUB.h re-defines as PerlSIO_getc(). You'll find that 'perldoc perlclib' advises that we should use PerlIO_getc() instead of getc(). (At least that's the advice we get from perlclib on Win32.) It also advises replacing fopen(), fread(), etc. with the appropriate PerlIO_* function. As a quick hack, I removed the re-definition of getc() from XSUB.h, and your module then compiled and tested fine. But I don't think that's the correct solution - and one should make sure that the change to XSUB.h is *undone* immediately after running 'make'. I think the correct solution is to rewrite your C code following the advice of 'perlclib'. Mind you .... I have no idea why XSUB.h should re-define getc to some symbol that then can't be resolved :-) Cheers, Rob