----- 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

Reply via email to