Can't locate object method "new" via package "Test::Reporter"

2010-01-20 Thread Nigel Horne
Does anyone know what could cause this error to happen, and how I can 
fix it?


CPAN::Reporter: preparing a CPAN Testers report for Expect-1.21
Catching error: "Can't locate object method \"new\" via package 
\"Test::Reporter\" at 
/boot/home/config/lib/perl5/site_perl/5.8.8/CPAN/Reporter.pm line 
423.\cJ" at /boot/home/config/lib/perl5/5.8.8/CPAN.pm line 391

   CPAN::shell() called at -e line 1

I have reinstalled Mail::Send, Test::Reporter, CPAN and CPAN::Reporter, 
done "reload CPAN", "o conf init test_report" but all to no avail.  None 
of the packages reported an error on installation.


This is on BeOS version 5 on the x86.

-Nigel


Re: Can't locate object method "new" via package "Test::Reporter"

2010-01-20 Thread David Golden
What happens if you try loading it from the command line:

$ perl5.8.8 -MTest::Reporter -we '$tr = Test::Reporter->new()'

-- David

On Wed, Jan 20, 2010 at 6:49 AM, Nigel Horne  wrote:
> Does anyone know what could cause this error to happen, and how I can fix
> it?
>
> CPAN::Reporter: preparing a CPAN Testers report for Expect-1.21
> Catching error: "Can't locate object method \"new\" via package
> \"Test::Reporter\" at
> /boot/home/config/lib/perl5/site_perl/5.8.8/CPAN/Reporter.pm line 423.\cJ"
> at /boot/home/config/lib/perl5/5.8.8/CPAN.pm line 391
>   CPAN::shell() called at -e line 1
>
> I have reinstalled Mail::Send, Test::Reporter, CPAN and CPAN::Reporter, done
> "reload CPAN", "o conf init test_report" but all to no avail.  None of the
> packages reported an error on installation.
>
> This is on BeOS version 5 on the x86.
>
> -Nigel
>


Re: Can't locate object method "new" via package "Test::Reporter"

2010-01-20 Thread Nigel Horne

David Golden wrote:

What happens if you try loading it from the command line:

$ perl5.8.8 -MTest::Reporter -we '$tr = Test::Reporter->new()'
  


Good question.  Now I can see what's going wrong (though it's a pity 
that CPAN hid this error message.


Now, any ideas how to fix this?

$ perl -MTest::Reporter -we '$tr = Test::Reporter->new()'
Can't ignore signal CHLD, forcing to default.
Your vendor has not defined Socket macro SOCK_RAW, used at 
/boot/home/config/lib/perl5/5.8.8/BePC-beos/IO/Socket/INET.pm line 24
Compilation failed in require at 
/boot/home/config/lib/perl5/5.8.8/BePC-beos/IO/Socket.pm line 21.
Compilation failed in require at 
/boot/home/config/lib/perl5/5.8.8/Net/SMTP.pm line 15.
BEGIN failed--compilation aborted at 
/boot/home/config/lib/perl5/5.8.8/Net/SMTP.pm line 15.
Compilation failed in require at 
/boot/home/config/lib/perl5/site_perl/5.8.8/Test/Reporter.pm line 27.
BEGIN failed--compilation aborted at 
/boot/home/config/lib/perl5/site_perl/5.8.8/Test/Reporter.pm line 27.

Compilation failed in require.
BEGIN failed--compilation aborted.
$

-Nigel


Re: Can't locate object method "new" via package "Test::Reporter"

2010-01-20 Thread Nigel Horne
I've found one problem, which isn't the one mentioned, but needs fixing 
anyway:


IO::Socket gives this error on BeOS:

"Your vendor has not defined Socket macro AF_UNIX, used at 
/boot/home/config/lib/perl5/5.8.8/BePC-beos/IO/Socket/UNIX.pm line 18"


The fix is in IO/Socket.pm at line 22.

Old code:
require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 'symbian');

New code:
require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 'symbian' && $^O ne 
'beos');


I've raised this as bug 53837 against IO::Socket.

-Nigel


Re: Can't locate object method "new" via package "Test::Reporter"

2010-01-20 Thread David Golden
If you make that fix, does the one-liner with Test::Reporter work?

David

On Wed, Jan 20, 2010 at 8:23 AM, Nigel Horne  wrote:
> I've found one problem, which isn't the one mentioned, but needs fixing
> anyway:
>
> IO::Socket gives this error on BeOS:
>
> "Your vendor has not defined Socket macro AF_UNIX, used at
> /boot/home/config/lib/perl5/5.8.8/BePC-beos/IO/Socket/UNIX.pm line 18"
>
> The fix is in IO/Socket.pm at line 22.
>
> Old code:
> require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 'symbian');
>
> New code:
> require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 'symbian' && $^O ne
> 'beos');
>
> I've raised this as bug 53837 against IO::Socket.
>
> -Nigel
>


Re: Can't locate object method "new" via package "Test::Reporter"

2010-01-20 Thread Nigel Horne

David Golden wrote:

If you make that fix, does the one-liner with Test::Reporter work?
  

No, as I said, it isn't the one mentioned.

I'm open to ideas.

-Nigel

David

On Wed, Jan 20, 2010 at 8:23 AM, Nigel Horne  wrote:
  

I've found one problem, which isn't the one mentioned, but needs fixing
anyway:

IO::Socket gives this error on BeOS:

"Your vendor has not defined Socket macro AF_UNIX, used at
/boot/home/config/lib/perl5/5.8.8/BePC-beos/IO/Socket/UNIX.pm line 18"

The fix is in IO/Socket.pm at line 22.

Old code:
require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 'symbian');

New code:
require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 'symbian' && $^O ne
'beos');

I've raised this as bug 53837 against IO::Socket.

-Nigel





--
Nigel Horne. Arranger, Adjudicator, Band Trainer, Composer, Tutor, Typesetter.
NJH Music, ICQ#20252325
n...@bandsman.co.uk http://www.bandsman.co.uk



Re: Can't locate object method "new" via package "Test::Reporter"

2010-01-20 Thread Nigel Horne
A *HACK* fix is to modify 
.../lib/perl5/5.8.8/BePC-beos/IO/Socket/INET.pm commenting out line 25 thus:


my %socket_type = ( tcp  => SOCK_STREAM,
   udp  => SOCK_DGRAM
   # icmp => SOCK_RAW
 );


I'd like a proper fix, but at least I now get Test::Reporter loading.  
Now doubt it will break more than just Ping stuff.  Any advice on a 
proper fix would be gratefully received.


Now to sort out IO::Socket's assumption that all environments provide 
getprotobyname()


-Nigel


Re: Can't locate object method "new" via package "Test::Reporter"

2010-01-20 Thread Nigel Horne

I belie I have Test::Reporter loading:

$ perl -MTest::Reporter -we '$tr = Test::Reporter->new()'
Can't ignore signal CHLD, forcing to default.
Name "main::tr" used only once: possible typo at -e line 1.
$

[ Thanks David for the suggestion on how to test it loads. ]

To get it to load on BeOS you need to apply the fixes I've suggested for 
RT bugs 53837, 53838 and 53839.


I suspect I'm still some way from getting a smoker on BeOS, but I am 
making progress.


The next thing is to find out why I'm getting "Unable to connect to any 
MX's" in .../lib/perl5/site_perl/5.8.8/Test/Reporter/Transport/Net/SMTP.pm


-Nigel