BrowserUk has asked for the wisdom of the Perl Monks concerning the following question:

Update: Uninstalling and reinstalling Perl back over the same directory seems to have fixed whatever was the problem whilst leaving all (of those I've tried) my installed packages still working.


My previously working Inline::C setup has suddenly started failing with:

#! perl -slw use strict; use Inline C => Config => BUILD_NOISY => 1; use Inline C => <<'END_C', NAME => 'test', CLEAN_AFTER_BUILD => 0; SV *test( SV *sv ( { printf( "test %s\n", SvPVX( sv ) ); return sv; } END_C print test( 'test' ); __END__ C:\test>ppm install -force Inline::C Downloading Inline-0.46...done Unpacking Inline-0.46...done Generating HTML for Inline-0.46...done Updating files in site area...done 116 files unchanged C:\test>test Starting Build Preprocess Stage Can't find the default system typemap file at C:/Perl64/site/lib/Inlin +e/C.pm line 347. Can't use an undefined value as an ARRAY reference at C:/Perl64/site/l +ib/Inline/C.pm line 367. BEGIN failed--compilation aborted at C:\test\test.pl line 11.

As you can see, I've tried re-installing Inline::C to no avail.

Any thoughts what might have caused it to start failing or how to corrected it?


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re: Inline::C compile failure.
by ELISHEVA (Prior) on Jan 17, 2011 at 07:01 UTC

    A very silly question, but what else, if anything, has changed on your system since you last had a successful run of Inline::C? i.e. the usual list: New apps? Upgrades/updates to perl, CPAN modules, your C compiler, other software, environment variables, registry data, MS-Win itself?

      It was working when I posted Re: unpacking 6-bit values, but not this morning.

      In the interim, I haven't changed the OS, Perl or the compiler setup.

      I have installed several modules. Some pure perl, some with XS. Some via PPM. Some using make/test/install. Which ones specifically, I do not remember.

      In essence. I've done nothing unusual(*) that ought to lead my current situation.

      (*)That is, nothing that I am aware of.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
Re: Inline::C compile failure.
by ikegami (Patriarch) on Jan 17, 2011 at 08:23 UTC
    SV *test( SV *sv ( { ^ |

    Is this relevant?

      It wasn't getting far enough for that to be a problem.

      I was originally trying to re-run an earlier working I::C progrma when I discovered the problem. The posted code was just a throw-together attempt to isolate it.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
Re: Inline::C compile failure.
by CountZero (Bishop) on Jan 17, 2011 at 07:52 UTC
    Have you tried re-installing Inline::C through cpan or cpanm? If that goes wrong at the very least you will get some more error messages to work with.

    CountZero

    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

Re: Inline::C compile failure.
by Anonyrnous Monk (Hermit) on Jan 17, 2011 at 08:20 UTC

    Does your Perl have a typemap file? The default system typemap should be in the ExtUtils directory of your Perl installation.

      I assume I had one when it was working, and I can't think of anything that would delete it.

      Looking at the error messages, it seems more likely that something modified Config.pm in some way that caused it to look for the wrong file or on the wrong place, but I can't think of what would do that or why.

      For now, I just glad of the AS msi.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.