Ok, here is the problem.

If you "perl -MCPAN -e shell;", and "test Inline::WebChat", but don't
have its prerequisite WWW::Chat::Processor, then CPAN will helpfully
download and build that as well.

It passes the location of the built prerequisite module in PERL5LIB.
Eg, with entries like /foo/.cpan/build/webchat-0.64/blib/arch .

But in Inline.pm, sub create_config_file wipes out PERL5LIB.
  local $ENV{PERL5LIB} if defined $ENV{PERL5LIB};

So when Inline/WebChat.pm starts loading, and requires
WWW::Chat::Processor, it fails to find it.

If one comments out the local()ization,
  #local $ENV{PERL5LIB} if defined $ENV{PERL5LIB};
then both Inline::TT and Inline::WebChat no longer have this install
problem.

At this point in the release cycle, I strongly suggest _not_ fixing this,
given that we're well into "no non-critical changes" phase on 0.44.
Document it as a known bug, and we'll get it later.  Users can install
the underlying non-Inline module first, or use "force".

The new noisy 'require' failure was definitely helpful.

For the future, this PERL5LIB and PERL5OPT clipping seems like it
might cause problems at sites which use them.  And PERLLIB is
curiously not clipped.  Anyway, something for 0.45.

Cheers,
Mitchell


   Date: Mon, 28 Oct 2002 00:23:10 -0800
   From: Brian Ingerson <[EMAIL PROTECTED]>
   To: Mitchell N Charity <[EMAIL PROTECTED]>
   Cc: [EMAIL PROTECTED]
   Subject: Re: TRIAL8 problem - Inline::TT install failure
   Message-ID: <[EMAIL PROTECTED]>
   References: <[EMAIL PROTECTED]>
   In-Reply-To: <[EMAIL PROTECTED]>;
     from [EMAIL PROTECTED] on Sat, Oct 26, 2002 at 04:10:22PM -0400

   On 26/10/02 16:10 -0400, Mitchell N Charity wrote:
   > I scrubbed Inline from my machine, and installed just TRIAL8.
   > 
   > Inline::TT installation failed.
   > Running "test Inline::TT" in the CPAN shell dies with
   > 
   >    t/01_add........Error. You have specified 'TT' as an Inline
   >    programming language.

   This is most likely caused because the 'require Inline::TT' was failing
   silently. And that was probably happening because you didn't install the
   prerequisite modules for Inline::TT. (Did the 'perl Makefile.PL' give
   you any warnings??)

   I have made the 'require' failures noisy. Which will help people in this
   regard in the future. The fix is already in RELEASE CANDIDATE 2.

   Cheers, Brian

Reply via email to