This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.
Date: Tue, 5 Sep 2000 01:25:39 -0500
From: Ken Williams <ken@forum.swarthmore.edu>
Subject: Re: Can't locate object method "No" via package "such"
To: "Alan E. Derhaag" <aderhaag@wolfenet.com>
aderhaag@wolfenet.com (Alan E. Derhaag) wrote:
>I upgraded to openssl-0.9.5a and recompiled apache w/mod_ssl and
>mod_perl defining the SSL_BASE to the apache src and now the thing
>won't start and complains about:
>
> Can't locate object method "No" via package "such" at /dev/null line 1.
>
>The compile had no warnings or errors except a `assignment discards
>`const' from pointer target type' warning.
>
>I've grepped the source for all (including openssl) and find nothing
>that might emit this error.
>
>Can I get a recommendation of where to look next?
This is pretty funny. Somehow an error message "No such
something-or-other" is being interpreted as Perl code. I don't know why
it thinks the file is /dev/null, but I'd grep for "No such" in your code
and see where that error message might be issued/misinterpreted.
===
Date: Tue, 5 Sep 2000 02:31:39 -0400 (EDT)
From: Billy Donahue <billy@dadadada.net>
To: Ken Williams <ken@forum.swarthmore.edu>
Subject: Re: Can't locate object method "No" via package "such"
On Tue, 5 Sep 2000, Ken Williams wrote:
> This is pretty funny. Somehow an error message "No such
> something-or-other" is being interpreted as Perl code. I don't know why
> it thinks the file is /dev/null, but I'd grep for "No such" in your code
> and see where that error message might be issued/misinterpreted.
Failing that, see if $! is being abused. $! would contain
the text "No such file or directory" after a failed open
attempt, for example.
===
Date: Mon, 25 Sep 2000 12:38:52 -0700 (PDT)
From: Doug MacEachern <dougm@covalent.net>
To: "Alan E. Derhaag" <aderhaag@wolfenet.com>
Subject: Re: Can't locate object method "No" via package "such"
On 4 Sep 2000, Alan E. Derhaag wrote:
> I upgraded to openssl-0.9.5a and recompiled apache w/mod_ssl and
> mod_perl defining the SSL_BASE to the apache src and now the thing
> won't start and complains about:
>
> Can't locate object method "No" via package "such" at /dev/null line 1.
looks to me like /dev/null is broken. if you run:
% cat /dev/null
you'll probably see something like "No such file or directory",
but of course /dev/null is always supposed to be empty. you should be
able to fix with:
% sudo echo > /dev/null
but that may only be a short-term fix if your /dev/null is broken, i'm not
sure how to properly fix it.
===
From: Jerrad Pierce <Jerrad.Pierce@networkengines.com>
To: "'Doug MacEachern'" <dougm@covalent.net>,
Cc: modperl@apache.org
Subject: RE: Can't locate object method "No" via package "such"
Date: Mon, 25 Sep 2000 15:42:27 -0400
man null
on Linux you need to do: mknod -m 666 /dev/null c 1 3
>-----Original Message-----
>From: Doug MacEachern [mailto:dougm@covalent.net]
>Sent: Monday, September 25, 2000 3:39 PM
>To: Alan E. Derhaag
>Cc: modperl@apache.org
>Subject: Re: Can't locate object method "No" via package "such"
>
>
>On 4 Sep 2000, Alan E. Derhaag wrote:
>
>> I upgraded to openssl-0.9.5a and recompiled apache w/mod_ssl and
>> mod_perl defining the SSL_BASE to the apache src and now the thing
>> won't start and complains about:
>>
>> Can't locate object method "No" via package "such" at
>/dev/null line 1.
>
>looks to me like /dev/null is broken. if you run:
>% cat /dev/null
>
>you'll probably see something like "No such file or directory",
>but of course /dev/null is always supposed to be empty. you should be
>able to fix with:
>
>% sudo echo > /dev/null
>
>but that may only be a short-term fix if your /dev/null is
>broken, i'm not
>sure how to properly fix it.
>
===
To: Doug MacEachern <dougm@covalent.net>
Cc: modperl@apache.org
Subject: Re: Can't locate object method "No" via package "such"
From: aderhaag@wolfenet.com (Alan E. Derhaag)
Date: 25 Sep 2000 19:29:23 -0700
Doug MacEachern <dougm@covalent.net> writes:
> On 4 Sep 2000, Alan E. Derhaag wrote:
>
> > I upgraded to openssl-0.9.5a and recompiled apache w/mod_ssl and
> > mod_perl defining the SSL_BASE to the apache src and now the thing
> > won't start and complains about:
> >
> > Can't locate object method "No" via package "such" at /dev/null line 1.
>
> looks to me like /dev/null is broken. if you run:
> % cat /dev/null
>
Good try, but /dev/null is not broken on my machine.
I finally gave up and eliminated the DSO version by compiling two
versions of httpd. Both include mod_ssl but the Engine is only turned
on with the light server.
I did find a slight problem when running `configtest' but I doubt that
that could have been the problem.
===
From: Doug MacEachern <dougm@covalent.net>
To: "Alan E. Derhaag" <aderhaag@wolfenet.com>
Subject: Re: Can't locate object method "No" via package "such"
On 25 Sep 2000, Alan E. Derhaag wrote:
>
> Good try, but /dev/null is not broken on my machine.
ok, i have seen this happen at least once in the past, glad it's not a
common problem. looking back now at some other mod_ssl fixes for 'make
test', i'm reading that mod_ssl has some sort of problem with /dev/null.
i don't know the details, but maybe this patch will fix the problem for
you. however, we had switched from -e0 to /dev/null in mod_perl-1.17,
something todo with suexec/setuid, which i think will still be a problem
looking at perl.c:
if (PL_euid != PL_uid || PL_egid != PL_gid)
Perl_croak(aTHX_ "No -e allowed in setuid scripts");
--- src/modules/perl/mod_perl.c 2000/09/01 05:23:17 1.126
+++ src/modules/perl/mod_perl.c 2000/09/26 17:03:39
@@ -668,7 +668,7 @@
#ifdef WIN32
argv[argc++] = "nul";
#else
- argv[argc++] = "/dev/null";
+ argv[argc++] = "-e0";
#endif
MP_TRACE_g(fprintf(stderr, "perl_parse args: "));
===
From: "Rob Bloodgood" <robb@empire2.com>
To: "Alan E. Derhaag" <aderhaag@wolfenet.com>
Cc: "Modperl" <modperl@apache.org>
Subject: RE: Can't locate object method "No" via package "such"
Date: Tue, 26 Sep 2000 11:31:46 -0700
Shoulda thought about your answer first, Doug. :-)
I see this type of message ("error at /dev/null") when my mod_perl scripts
give warnings -w style instead of $r->warn. For example, HTML::Embperl, or
Apache::Registry both do this.
The nature of the error message sez to me there is a mishandled error
somewhere, like possibly an eval that is turning into a method call:
eval { # read file here
# file doesn't exist
# error is
No such file or directory
# which is parsed by perl to something like:
# such->No (file or directory)
};
Which further tends to suggest that a necessary environment variable for SSL
is either not defined or pointing to the wrong place??
I would suggest *never* disregarding configtest errors... one poorly
indicative error message can be the final gasp of a long string of errors
caused by a simple typo or whatever several layers deep.
===