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. ===