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

Okay, I have this script that uses inline c, runs great on my machine. (using cygwin)

Boss loads up the script on their machine, after installing inline::c and such, and gets this error:
Use of uninitialized value in concatenation (.) or string at blib/lib/ +Inline.pm (autosplit into blib/lib/auto/Inline/check_module.al) line +775. Use of uninitialized value in concatenation (.) or string at /usr/lib/ +perl5/site_perl/5.6.1/Inline.pm line 244. An eval() failed in Inline::glue: in @INC (@INC contains: /cygdrive/c/cy_av/stimgen/_Inline/lib /usr/li +b/perl5/5.6.1/cygwin-multi /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_p +erl/5.6.1/cygwin-multi /usr/lib /perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl .) at (eval 2) line 2.

< Now I left out the _Inline directory, becuase I wanted the script to recompile in his enviroment; however, when I copied my _Inline to his computer, it worked fine (becuase inline c found the dll and just used it.) Any idea? I'd rather like to keep the boss off my back.

Replies are listed 'Best First'.
Re: Inline C cygwin Problem
by abitkin (Monk) on Aug 20, 2002 at 19:26 UTC
    Starting at line 239 on Inline.pm
    print_version() if $version_requested; $o->reportbug() if $o->{CONFIG}{REPORTBUG}; if (not $o->{INLINE}{object_ready} or $o->{CONFIG}{PRINT_INFO} ) { eval "require $o->{INLINE}{ILSM_module}"; # line 244 croak M05_error_eval('glue', $@) if $@; bless $o, $o->{INLINE}{ILSM_module}; $o->validate(@config); }


    Starting at line 770 on Inline.pm
    my $inl = "$o->{API}{install_lib}/auto/" . "$o->{API}{modpname}/$o->{API}{modfname}.inl"; $o->{API}{location} = "$o->{API}{install_lib}/auto/" . "$o->{API}{modpname}/$o->{API}{modfname}.$o->{INLINE}{ILSM_suffi +x}"; last unless -f $inl; my %inl; # line 775 { local ($/, *INL); open INL, $inl or croak M31_inline_open_failed($inl); %inl = Inline::denter->new()->undent(<INL>); } next unless ($o->{INLINE}{md5} eq $inl{md5}); next unless ($inl{inline_version} ge '0.40');