Re: Dependency Hell (Test::Harness)

2003-02-24 Thread hysterion
David R. Morrison wrote:
I think the problem here is that "perl Makefile.PL" will _use_ the value
of PERL5LIB which you have set in order to locate any modules necessary
during the creation of the Makefile, but will not _pass_ this value to the
Makefile itself in any useful manner.


Yes, I think that's exactly it -- and even worse, not only does 
$PERL5LIB/Test/Harness.pm not get passed, it even gets *overriden* by 
/System/Library/Perl/Test/Harness.pm, because the Makefile sets PERL_LIB 
= /System/Library/Perl and then includes it:

  test_dynamic :: pure_all
  PERL_DL_NONLAZY=1 $(FULLPERL) -I$(INST_ARCHLIB) -I$(INST_LIB)
  -I$(PERL_ARCHLIB) -I$(PERL_LIB) -e 'use Test::Harness qw(&runtests
  $$verbose); $$verbose=$(TEST_VERBOSE); runtests @ARGV;'
  $(TEST_FILES)
(This is written by the "test_via_harness" method of ExtUtils::MM_Unix.) 
To reverse this, Ken Williams suggested calling "make test" with 
PERL_LIB=$PERL5LIB, but I'm not yet sure that this is always foolprof.


In Fink, "perl Makefile.PL" is called with a bunch of arguments:

perl Makefile.PL PREFIX=/sw \
 INSTALLPRIVLIB=/sw/lib/perl5 \
 INSTALLARCHLIB=/sw/lib/perl5/darwin \
 INSTALLSITELIB=/sw/lib/perl5 \
 INSTALLSITEARCH=/sw/lib/perl5/darwin \
 INSTALLMAN1DIR=/sw/share/man/man1 \
 INSTALLMAN3DIR=/sw/share/man/man3
(see the description of CompileScript at
http://fink.sourceforge.net/doc/packaging/reference.php#fields ).


...indeed, that's exactly where I took the flags mentioned in the 
original post :-) (And I'll take this opportunity to thank you for all 
your Fink work. Maybe some day you'll tell the rest of us how you manage 
this *and* your day job...)

I also browsed Fink CVS to see how you go about my problem for the 
modules that Fink distributes. (I guess they all come as dependencies 
for other packages, or is there any other reason for Fink to distribute 
perl modules?) However it looks like none of them need the new 
Test::Harness at present... but I guess this is bound to happen sooner 
or later. How would you go about it? Write a custom "make test"?


The relevant variables for you would presumably be the ...LIB ones.


Well, looking at the above excerpt from the Makefile, it seems that 
again, PERL_LIB is the only one we could usefully set (to $PERL5LIB). 
But I'm afraid that doing this at "perl Makefile.PL" time is too early 
in general... For this particular module the resulting Makefile happens 
to work, but the warning (below) leads me to believe that it wouldn't in 
general, no? (Cf. the problems when I set PERL_ARCHLIB earlier in this 
thread.)

[localhost:~/Getopt-ArgvFile-1.06] fz% perl Makefile.PL 
PERL_LIB=$PERL5LIB
Checking if your kit is complete...
Looks good
Warning: PERL_LIB (/Volumes/Unix/usrlocal/lib/perl5) seems not to 
be a perl library directory
(Exporter.pm not found) at (eval 9) line 367.
Writing Makefile for Getopt::ArgvFile

Looking again at the Makefile excerpt, another possibility that comes to 
mind is to set FULLPERL to "/usr/bin/perl -I$PERL5LIB". This ensures 
that the newly installed Test::Harness is selected, and it seems to work 
(see below). However I'm not sure what would happen if we have a module 
in PERL5LIB and try to install a newer version of it: will "make test" 
actually test the new one, or the old one? Seems like it could be the 
latter, and then... does anyone see if/how we could override that?



[localhost:~/Getopt-ArgvFile-1.06] fz% perl Makefile.PL 
FULLPERL="/usr/bin/perl -I$PERL5LIB"
Checking if your kit is complete...
Looks good
Writing Makefile for Getopt::ArgvFile
[localhost:~/Getopt-ArgvFile-1.06] fz% make
mkdir blib
mkdir blib/lib
mkdir blib/lib/Getopt
mkdir blib/arch
mkdir blib/arch/auto
mkdir blib/arch/auto/Getopt
mkdir blib/arch/auto/Getopt/ArgvFile
mkdir blib/lib/auto
mkdir blib/lib/auto/Getopt
mkdir blib/lib/auto/Getopt/ArgvFile
mkdir blib/man3
cp ArgvFile.pm blib/lib/Getopt/ArgvFile.pm
Manifying blib/man3/Getopt::ArgvFile.3
[localhost:~/Getopt-ArgvFile-1.06] fz% make test
PERL_DL_NONLAZY=1 /usr/bin/perl -I/Volumes/Unix/usrlocal/lib/perl5 
-Iblib/arch -Iblib/lib -I/System/Library/Perl/darwin 
-I/System/Library/Perl -e 'use Test::Harness qw(&runtests $verbose); 
$verbose=0; runtests @ARGV;' t/*.t
t/base..ok 

t/prefixok 

All tests successful.
Files=2, Tests=7,  1 wallclock secs ( 0.80 cusr +  0.32 csys = 
1.12 CPU)



Re: Dependency Hell (Test::Harness)

2003-02-24 Thread hysterion
Ken Williams wrote:

So, is there a workaround to force the use of the newer Test::Harness  
in "make test"?


That's a pain.  You could probably do this:

  make test PERL_ARCHLIB=/foo/darwin PERL_LIB=/foo


This doesn't quite work for me:

[localhost:~/Getopt-ArgvFile-1.06] fz% make test 
PERL_ARCHLIB=$PERL5LIB/darwin PERL_LIB=$PERL5LIB
make: *** No rule to make target 
`/Volumes/Unix/usrlocal/lib/perl5/darwin/Config.pm', needed by 
`Makefile'.  Stop.

but it *does* work (thanks!) if I only set PERL_LIB:

[localhost:~/Getopt-ArgvFile-1.06] fz% make test PERL_LIB=$PERL5LIB
PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib 
-I/System/Library/Perl/darwin -I/Volumes/Unix/usrlocal/lib/perl5 -e 'use 
Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
t/base..ok 

t/prefixok 

All tests successful.
Files=2, Tests=7,  2 wallclock secs ( 0.81 cusr +  0.41 csys = 
1.22 CPU)

(It even works with PERL_LIB=/dev/null, as long as I keep PERL5LIB in my 
environment. PERL_ARCHLIB, on the other hand, can't be changed because 
at some point the Makefile wants to set CONFIGDEP = 
$(PERL_ARCHLIB)/Config.pm (etc.))

However, this leaves me with two questions. First, can I hope this to 
always work? Or was it by special luck in this case that the tests 
didn't require anything from /System/Library/Perl (which is what the 
Makefile had PERL_LIB set to)?  It looks like what we'd really need here 
is the ability to specify a library *path*, rather than just one 
directory...

Second, of course, I'd like ultimately to have CPAN do all this for me. 
Now I see that it lets me set "makepl_arg", "make_arg", 
"make_install_arg", but nothing like a "make_test_arg" :-(  Is there a way?



If I were you, though, I'd just install Test::Harness into the standard  
/Library/Perl/ (Apple knows this is the location users will be  
installing modules into, that's what that directory is for), and  
install with

  sudo make install UNINST=1

which will remove the ones in /System/Library/Perl/ .


That sounds like the voice of reason, to which I'll probably surrender 
:-)  Still, if there is a way to segregate our stuff from Apple's -- to 
override it, rather than replace it -- I think it may be worth finding. 
After all, shouldn't non-sudoers be able to install modules that need 
the new Test::Harness?

Also it would simplify backups, provide a single switch to revert to the 
stock behavior (unsetenv PERL5LIB), and insure us against Apple or CPAN 
changing their minds about who owns /Library/Perl, /System/Library/Perl, 
or /usr/bin/head...

(It even works with PERL_LIB=/dev/null, as long as I keep PERL5LIB in my 
environment. Apparently the reason we can't also change PERL_ARCHLIB is 
that the Makefile uses it to set CONFIGDEP.)

# Where is the Config information that we are using/depend on
CONFIGDEP = $(PERL_ARCHLIB)/Config.pm $(PERL_INC)/config.h
)




Re: Dependency Hell (Test::Harness)

2003-02-23 Thread Sherm Pendley
On Sunday, February 23, 2003, at 05:06 PM, David Wheeler wrote:

On Sunday, February 23, 2003, at 11:07  AM, Sherm Pendley wrote:

I recently upgraded to the latest CPAN.pm, and I noticed a difference 
in behavior - when updating a module that's part of the core, it 
updates the copy in /System/Library/Perl instead of installing a new 
copy in /Library/Perl.
I noticed that CPANPLUS did this for me, too, with Perl 5.8.0 in 
/usr/local. It installed Attribute::Handlers in 
/usr/local/lib/perl5/site_perl/5.8.0 but left the copy in 
/usr/local/lib/perl5/5.8.0 (core).

This leads me to think that this is typical and expected behavior.
Yes - what you're describing is the traditional behavior. As Ken pointed 
out, you needed to use the UNINST=1 switch to delete the old core module.

That's why I was surprised, and why I felt it worth commenting on it, 
when my install of Test::Harness didn't behave that way, when I 
installed it with the latest CPAN. Instead of installing it in 
/Library/Perl - the moral equivalent of site_perl, for Apple's built-in 
5.6 - it updated the core copy of the module in /System/Library/Perl.

I just updated CPAN.pm using 5.8.0 in /opt, and CGI.pm, using both 5.6.0 
and 5.8.0, with the same results. Each time, it updated the core module 
in-place, instead of installing the new version in site_perl as I'd 
expected it to.

sherm--

"I have no special gift, I am only passionately curious." - Albert 
Einstein



Re: Dependency Hell (Test::Harness)

2003-02-23 Thread David Wheeler
On Sunday, February 23, 2003, at 11:07  AM, Sherm Pendley wrote:

I recently upgraded to the latest CPAN.pm, and I noticed a difference 
in behavior - when updating a module that's part of the core, it 
updates the copy in /System/Library/Perl instead of installing a new 
copy in /Library/Perl.
I noticed that CPANPLUS did this for me, too, with Perl 5.8.0 in 
/usr/local. It installed Attribute::Handlers in 
/usr/local/lib/perl5/site_perl/5.8.0 but left the copy in 
/usr/local/lib/perl5/5.8.0 (core).

This leads me to think that this is typical and expected behavior.

David

--
David Wheeler AIM: dwTheory
[EMAIL PROTECTED]  ICQ: 15726394
   Yahoo!: dew7e
   Jabber: [EMAIL PROTECTED]
Kineticode. Setting knowledge in motion.[sm]


Re: Dependency Hell (Test::Harness)

2003-02-23 Thread Sherm Pendley
On Sunday, February 23, 2003, at 10:27 AM, Ken Williams wrote:

If I were you, though, I'd just install Test::Harness into the 
standard  /Library/Perl/ (Apple knows this is the location users will 
be  installing modules into, that's what that directory is for), and  
install with

  sudo make install UNINST=1

which will remove the ones in /System/Library/Perl/ .
I recently upgraded to the latest CPAN.pm, and I noticed a difference in 
behavior - when updating a module that's part of the core, it updates 
the copy in /System/Library/Perl instead of installing a new copy in 
/Library/Perl.

sherm--

C programmers never die - they're just cast into void.



Re: Dependency Hell (Test::Harness)

2003-02-23 Thread Ken Williams
On Saturday, February 22, 2003, at 09:14  PM, [EMAIL PROTECTED] wrote:
Thanks again. (I already replied once to say that I'm positive  
PERL5LIB was set, but somehow this hasn't made it to the list yet.)  
The problem, it seems, is that the "-I/System/Library/Perl" overrides  
it :-(  Viz. the difference if I run the tests manually with and  
without this flag:

	[localhost:~/Getopt-ArgvFile-1.06] fz% echo $PERL5LIB
	/Volumes/Unix/usrlocal/lib/perl5
	[localhost:~/Getopt-ArgvFile-1.06] fz% perl -Iblib/arch -Iblib/lib  
-I/System/Library/Perl/darwin -I/System/Library/Perl -e 'use  
Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;'  
t/*.t
	t/base..FAILED tests 1-5
			Failed 5/5 tests, 0.00% okay
	t/prefixFAILED tests 1-2
			Failed 2/2 tests, 0.00% okay
	Failed Test  Status Wstat Total Fail  Failed  List of failed
	 
--- 

	t/base.t  55 100.00%  1-5
	t/prefix.t22 100.00%  1-2
	Failed 2/2 test scripts, 0.00% okay. 7/7 subtests failed, 0.00% okay.
	[localhost:~/Getopt-ArgvFile-1.06] fz% echo $PERL5LIB
	/Volumes/Unix/usrlocal/lib/perl5
	Files=2, Tests=7,  2 wallclock secs ( 0.85 cusr +  0.31 csys =  1.16  
CPU)
	[localhost:~/Getopt-ArgvFile-1.06] fz% perl -Iblib/arch -Iblib/lib -e  
'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests  
@ARGV;' t/*.t
	t/base..ok
	t/prefixok
	All tests successful.
	Files=2, Tests=7,  1 wallclock secs ( 0.86 cusr +  0.37 csys =  1.23  
CPU)

So, is there a workaround to force the use of the newer Test::Harness  
in "make test"?


That's a pain.  You could probably do this:

  make test PERL_ARCHLIB=/foo/darwin PERL_LIB=/foo

If I were you, though, I'd just install Test::Harness into the standard  
/Library/Perl/ (Apple knows this is the location users will be  
installing modules into, that's what that directory is for), and  
install with

  sudo make install UNINST=1

which will remove the ones in /System/Library/Perl/ .

 -Ken



Re: Dependency Hell (Test::Harness)

2003-02-23 Thread David R. Morrison
I think the problem here is that "perl Makefile.PL" will _use_ the value
of PERL5LIB which you have set in order to locate any modules necessary
during the creation of the Makefile, but will not _pass_ this value to the
Makefile itself in any useful manner.

In Fink, "perl Makefile.PL" is called with a bunch of arguments:

perl Makefile.PL PREFIX=/sw \
 INSTALLPRIVLIB=/sw/lib/perl5 \
 INSTALLARCHLIB=/sw/lib/perl5/darwin \
 INSTALLSITELIB=/sw/lib/perl5 \
 INSTALLSITEARCH=/sw/lib/perl5/darwin \
 INSTALLMAN1DIR=/sw/share/man/man1 \
 INSTALLMAN3DIR=/sw/share/man/man3

(see the description of CompileScript at
http://fink.sourceforge.net/doc/packaging/reference.php#fields ).

The relevant variables for you would presumably be the ...LIB ones.

  -- Dave




Re: Dependency Hell (Test::Harness)

2003-02-23 Thread hysterion
Ken Williams wrote:

Looks like maybe PERL5LIB isn't set anymore?  It always need to be set  
in order to find stuff in your non-standard location.


Thanks. I think it's still set... Let me start over and show you the 
exact command sequence:



	[localhost:~] fz% echo $PERL5LIB
	/Volumes/Unix/usrlocal/lib/perl5
	[localhost:~] fz% tar xzf Getopt-ArgvFile-1.06.tgz
	[localhost:~] fz% cd Getopt-ArgvFile-1.06
	[localhost:~/Getopt-ArgvFile-1.06] fz% perl Makefile.PL `cat 
~/.perl_inst_dirs`
	Checking if your kit is complete...
	Looks good
	Writing Makefile for Getopt::ArgvFile
	[localhost:~/Getopt-ArgvFile-1.06] fz% make
	mkdir blib
	mkdir blib/lib
	mkdir blib/lib/Getopt
	mkdir blib/arch
	mkdir blib/arch/auto
	mkdir blib/arch/auto/Getopt
	mkdir blib/arch/auto/Getopt/ArgvFile
	mkdir blib/lib/auto
	mkdir blib/lib/auto/Getopt
	mkdir blib/lib/auto/Getopt/ArgvFile
	mkdir blib/man3
	cp ArgvFile.pm blib/lib/Getopt/ArgvFile.pm
	Manifying blib/man3/Getopt::ArgvFile.3
	[localhost:~/Getopt-ArgvFile-1.06] fz% make test
	PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib 
-I/System/Library/Perl/darwin -I/System/Library/Perl -e 'use 
Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
	t/base..FAILED tests 1-5
			Failed 5/5 tests, 0.00% okay
	t/prefixFAILED tests 1-2
			Failed 2/2 tests, 0.00% okay
	Failed Test  Status Wstat Total Fail  Failed  List of failed
	---
	t/base.t  55 100.00%  1-5
	t/prefix.t22 100.00%  1-2
	Failed 2/2 test scripts, 0.00% okay. 7/7 subtests failed, 0.00% okay.
	make: *** [test_dynamic] Error 255
	[localhost:~/Getopt-ArgvFile-1.06] fz% echo $PERL5LIB
	/Volumes/Unix/usrlocal/lib/perl5
	[localhost:~/Getopt-ArgvFile-1.06] fz% perl -V



Characteristics of this binary (from libperl):
  Compile-time options: USE_LARGE_FILES
  Built under darwin
  Compiled at Jul 14 2002 04:04:33
  %ENV:
PERL5LIB="/Volumes/Unix/usrlocal/lib/perl5"
  @INC:
/Volumes/Unix/usrlocal/lib/perl5/darwin
/Volumes/Unix/usrlocal/lib/perl5
/System/Library/Perl/darwin
/System/Library/Perl
/Library/Perl/darwin
/Library/Perl
/Library/Perl
/Network/Library/Perl/darwin
/Network/Library/Perl
/Network/Library/Perl
.
On the other hand, in the meantime I had no trouble installing 
HTML::TextToHTML (which was my target and SAYS it requires Test::More), 
plus its dependencies ExtUtils::configPL and Filter. The tests ran fine, 
though again I'm not sure *which* Test::Harness was being used:

	[localhost:~/Filter-1.29] fz% make test
	PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib 
-I/System/Library/Perl/darwin -I/System/Library/Perl -e 'use 
Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
	t/call..ok 

	t/cpp...ok 

	t/decrypt...ok 

	t/exec..ok 

	t/order.ok 

	t/shok 

	t/tee...ok 

	All tests successful.
	Files=7, Tests=48,  9 wallclock secs ( 4.35 cusr +  2.30 csys =  6.65 CPU)
	No tests defined for Filter::Util::Call extension.
	No tests defined for Filter::Util::Exec extension.
	No tests defined for Filter::decrypt extension.
	No tests defined for Filter::tee extension.
	
	[localhost:~/ExtUtils-configPL-1.1] fz% make test
	PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib 
-I/System/Library/Perl/darwin -I/System/Library/Perl -e 'use 
Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
	t/def...ok 

	t/mode..ok 

	t/nook 

	t/opt...ok 

	All tests successful.
	Files=4, Tests=10,  1 wallclock secs ( 0.17 cusr +  0.05 csys =  0.22 CPU)
	
		
	[localhost:~/HTML-TextToHTML-1.12] fz% make test
	PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib 
-I/System/Library/Perl/darwin -I/System/Library/Perl test.pl
	1..11
	ok 1
	ok 2 - new() returned something
	ok 3 -   and it's the right class
	ok 4 - converted sample.txt
	ok 5 - test file matches original example exactly
	ok 6 - converted sample string
	ok 7 - compare converted string with OK string
	ok 8 - converted sample string with list
	ok 9 - compare converted list string with OK list string
	ok 10 - converted xhtml sample.txt
	ok 11 - test file xhtml_sample.html matches original 
good_xhtml_sample.html exactly






Re: Dependency Hell (Test::Harness)

2003-02-22 Thread hysterion
Ken Williams wrote:
On Saturday, February 22, 2003, at 12:19  PM, [EMAIL PROTECTED] wrote:

  [localhost:~/Getopt-ArgvFile-1.06] fz% make test
  PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib
  -I/System/Library/Perl/darwin -I/System/Library/Perl -e 'use
  Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;'
  t/*.t
  t/base..FAILED tests 1-5
  Failed 5/5 tests, 0.00% okay
  t/prefixFAILED tests 1-2
  Failed 2/2 tests, 0.00% okay
  Failed Test  Status Wstat Total Fail  Failed  List of failed
--- 

  t/base.t  55 100.00%  1-5
  t/prefix.t22 100.00%  1-2
  Failed 2/2 test scripts, 0.00% okay. 7/7 subtests failed, 0.00% okay.
  make: *** [test_dynamic] Error 255

So, is it at this point using the correct Test::Harness?
If yes, what am I doing wrong?
If no, what am I doing wrong?


Looks like maybe PERL5LIB isn't set anymore?  It always need to be set  
in order to find stuff in your non-standard location.


Thanks again. (I already replied once to say that I'm positive PERL5LIB 
was set, but somehow this hasn't made it to the list yet.) The problem, 
it seems, is that the "-I/System/Library/Perl" overrides it :-(  Viz. 
the difference if I run the tests manually with and without this flag:

	[localhost:~/Getopt-ArgvFile-1.06] fz% echo $PERL5LIB
	/Volumes/Unix/usrlocal/lib/perl5
	[localhost:~/Getopt-ArgvFile-1.06] fz% perl -Iblib/arch -Iblib/lib 
-I/System/Library/Perl/darwin -I/System/Library/Perl -e 'use 
Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
	t/base..FAILED tests 1-5
			Failed 5/5 tests, 0.00% okay
	t/prefixFAILED tests 1-2
			Failed 2/2 tests, 0.00% okay
	Failed Test  Status Wstat Total Fail  Failed  List of failed
	---
	t/base.t  55 100.00%  1-5
	t/prefix.t22 100.00%  1-2
	Failed 2/2 test scripts, 0.00% okay. 7/7 subtests failed, 0.00% okay.
	[localhost:~/Getopt-ArgvFile-1.06] fz% echo $PERL5LIB
	/Volumes/Unix/usrlocal/lib/perl5
	Files=2, Tests=7,  2 wallclock secs ( 0.85 cusr +  0.31 csys =  1.16 CPU)
	[localhost:~/Getopt-ArgvFile-1.06] fz% perl -Iblib/arch -Iblib/lib -e 
'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' 
t/*.t
	t/base..ok 

	t/prefixok 

All tests successful.
Files=2, Tests=7,  1 wallclock secs ( 0.86 cusr +  0.37 csys =  1.23 CPU)
So, is there a workaround to force the use of the newer Test::Harness in 
"make test"?






Re: Dependency Hell (Test::Harness)

2003-02-22 Thread Ken Williams
On Saturday, February 22, 2003, at 12:19  PM, [EMAIL PROTECTED] wrote:
  [localhost:~/Getopt-ArgvFile-1.06] fz% make test
  PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib
  -I/System/Library/Perl/darwin -I/System/Library/Perl -e 'use
  Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;'
  t/*.t
  t/base..FAILED tests 1-5
  Failed 5/5 tests, 0.00% okay
  t/prefixFAILED tests 1-2
  Failed 2/2 tests, 0.00% okay
  Failed Test  Status Wstat Total Fail  Failed  List of failed
--- 

  t/base.t  55 100.00%  1-5
  t/prefix.t22 100.00%  1-2
  Failed 2/2 test scripts, 0.00% okay. 7/7 subtests failed, 0.00% okay.
  make: *** [test_dynamic] Error 255

So, is it at this point using the correct Test::Harness?
If yes, what am I doing wrong?
If no, what am I doing wrong?
Looks like maybe PERL5LIB isn't set anymore?  It always need to be set  
in order to find stuff in your non-standard location.

 -Ken



Dependency Hell (Test::Harness)

2003-02-22 Thread hysterion
I'm running Jaguar 10.2.4 with the stock perl, which has Test::Harness 
1.1604.

I want to install modules like Getopt::ArgvFile (1.06), which asks me 
for Test::Harness => 1.25. (It also asks for Test::More, now IIUC part 
of Test::Simple, which requires Test::Harness => 2.03.)

So it looks like I need tu upgrade Test::Harness. Now I'd rather leave 
the stock perl untouched (like Fink does), so I try to set things up in 
a separate "/Volumes/Unix/usrlocal" dir:

  % setenv PERL5LIB /Volumes/Unix/usrlocal/lib/perl5
  % perl Makefile.PL `cat ~/.perl_inst_dirs`
where

  % cat ~/.perl_inst_dirs
  PREFIX=/Volumes/Unix/usrlocal \
  INSTALLPRIVLIB=/Volumes/Unix/usrlocal/lib/perl5 \
  INSTALLARCHLIB=/Volumes/Unix/usrlocal/lib/perl5/darwin \
  INSTALLSITELIB=/Volumes/Unix/usrlocal/lib/perl5 \
  INSTALLSITEARCH=/Volumes/Unix/usrlocal/lib/perl5/darwin \
  INSTALLMAN1DIR=/Volumes/Unix/usrlocal/share/man/man1 \
  INSTALLMAN3DIR=/Volumes/Unix/usrlocal/share/man/man3
This works fine to install any CPAN versions of Test::Harness (2.03 is 
the oldest I see) and Test::Simple (=> 0.42). But then I get:

  [localhost:~/Getopt-ArgvFile-1.06] fz% perl Makefile.PL `cat
  ~/.perl_inst_dirs`
  Checking if your kit is complete...
  Looks good
  Writing Makefile for Getopt::ArgvFile
  [localhost:~/Getopt-ArgvFile-1.06] fz% make
  mkdir blib
  mkdir blib/lib
  mkdir blib/lib/Getopt
  mkdir blib/arch
  mkdir blib/arch/auto
  mkdir blib/arch/auto/Getopt
  mkdir blib/arch/auto/Getopt/ArgvFile
  mkdir blib/lib/auto
  mkdir blib/lib/auto/Getopt
  mkdir blib/lib/auto/Getopt/ArgvFile
  mkdir blib/man3
  cp ArgvFile.pm blib/lib/Getopt/ArgvFile.pm
  Manifying blib/man3/Getopt::ArgvFile.3
  [localhost:~/Getopt-ArgvFile-1.06] fz% make test
  PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib
  -I/System/Library/Perl/darwin -I/System/Library/Perl -e 'use
  Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;'
  t/*.t
  t/base..FAILED tests 1-5
  Failed 5/5 tests, 0.00% okay
  t/prefixFAILED tests 1-2
  Failed 2/2 tests, 0.00% okay
  Failed Test  Status Wstat Total Fail  Failed  List of failed
---
  t/base.t  55 100.00%  1-5
  t/prefix.t22 100.00%  1-2
  Failed 2/2 test scripts, 0.00% okay. 7/7 subtests failed, 0.00% okay.
  make: *** [test_dynamic] Error 255
So, is it at this point using the correct Test::Harness?
If yes, what am I doing wrong?
If no, what am I doing wrong?