Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot find current script '/dev/null' at /usr/share/perl/5.10/FindBin.pm line 206 #9660

Closed
p5pRT opened this issue Feb 25, 2009 · 7 comments

Comments

@p5pRT
Copy link

p5pRT commented Feb 25, 2009

Migrated from rt.perl.org#63476 (status was 'rejected')

Searchable as RT63476$

@p5pRT
Copy link
Author

p5pRT commented Feb 25, 2009

From jozef@kutej.net

Created by jozef@kutej.net

This is a bug report for perl from jozef@​kutej.net,
generated with the help of perlbug 1.36 running under perl 5.10.0.

-----------------------------------------------------------------
When I do 'use FindBin' under mod_perl I get following error​:

Cannot find current script '/dev/null' at /usr/share/perl/5.10/FindBin.pm line 206
BEGIN failed--compilation aborted at /usr/share/perl/5.10/FindBin.pm line 206.

It probably because of​:
croak("Cannot find current script '$0'") unless(-f $script);

As "/dev/null is" not a file (but a -b "block special file") it croaks.

Cheers,
Jozef

Perl Info

Flags:
    category=library
    severity=low

Site configuration information for perl 5.10.0:

Configured by Debian Project at Thu Jan  1 12:43:38 UTC 2009.

Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
  Platform:
    osname=linux, osvers=2.6.26-1-686, archname=i486-linux-gnu-thread-multi
    uname='linux rebekka 2.6.26-1-686 #1 smp mon dec 15 18:15:07 utc 2008 i686 gnulinux '
    config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i486-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5.10 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.10.0 -Dsitearch=/usr/local/lib/perl/5.10.0 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.10.0 -Dd_dosuid -des'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=undef, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -g',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include'
    ccversion='', gccversion='4.3.2', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib /usr/lib64
    libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
    perllibs=-ldl -lm -lpthread -lc -lcrypt
    libc=/lib/libc-2.7.so, so=so, useshrplib=true, libperl=libperl.so.5.10.0
    gnulibc_version='2.7'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib'

Locally applied patches:
    


@INC for perl 5.10.0:
    /etc/perl
    /usr/local/lib/perl/5.10.0
    /usr/local/share/perl/5.10.0
    /usr/lib/perl5
    /usr/share/perl5
    /usr/lib/perl/5.10
    /usr/share/perl/5.10
    /usr/local/lib/site_perl
    .


Environment for perl 5.10.0:
    HOME=/home/jk
    LANG=en_US.UTF-8
    LANGUAGE (unset)
    LC_TIME=en_DK.UTF-8
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/home/jk/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
    PERL_BADLANG (unset)
    SHELL=/bin/bash

@p5pRT
Copy link
Author

p5pRT commented Nov 11, 2009

jarich@perltraining.com.au - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Dec 17, 2009

From @obra

On Wed Feb 25 05​:22​:58 2009, jozef@​kutej.net wrote​:

This is a bug report for perl from jozef@​kutej.net,
generated with the help of perlbug 1.36 running under perl 5.10.0.

----------------------------------------------------------------
-
When I do 'use FindBin' under mod_perl I get following error​:

Cannot find current script '/dev/null' at
/usr/share/perl/5.10/FindBin.pm line 206
BEGIN failed--compilation aborted at /usr/share/perl/5.10/FindBin.pm
line 206.

It probably because of​:
croak("Cannot find current script '$0'") unless(-f $script);

As "/dev/null is" not a file (but a -b "block special file") it
croaks.

This does sort of feel like FindBin is doing the right thing. Have you
talked to the mod_perl folks about $0?

@p5pRT
Copy link
Author

p5pRT commented May 2, 2012

From @jkeenan

On Thu Dec 17 10​:15​:17 2009, jesse wrote​:

On Wed Feb 25 05​:22​:58 2009, jozef@​kutej.net wrote​:

This is a bug report for perl from jozef@​kutej.net,
generated with the help of perlbug 1.36 running under perl 5.10.0.

----------------------------------------------------------------
-
When I do 'use FindBin' under mod_perl I get following error​:

Cannot find current script '/dev/null' at
/usr/share/perl/5.10/FindBin.pm line 206
BEGIN failed--compilation aborted at /usr/share/perl/5.10/FindBin.pm
line 206.

It probably because of​:
croak("Cannot find current script '$0'") unless(-f $script);

As "/dev/null is" not a file (but a -b "block special file") it
croaks.

This does sort of feel like FindBin is doing the right thing. Have you
talked to the mod_perl folks about $0?

Discussion in this thread petered out three years ago. Jesse seems to
be saying that this is not a bug in FindBin. Should we keep this ticket
open?

Thank you very much.
Jim Keenan

@p5pRT
Copy link
Author

p5pRT commented May 3, 2012

From @ikegami

On Tue, May 1, 2012 at 9​:52 PM, James E Keenan via RT <
perlbug-followup@​perl.org> wrote​:

Discussion in this thread petered out three years ago. Jesse seems to
be saying that this is not a bug in FindBin. Should we keep this ticket
open?

ModPerl​::Registry does set $0, so FindBin should work fine from registry
scripts (though you'll need to call C<< FindBin​::again() >> as per the
documentation).

I presume this problem occurs if he tries to load FindBin from the startup
script or equivalent, in which case it falls to mod_perl to provide
something useful in $0.

Even if I'm missing something, I don't see how this can possibly be a
problem with FindBin.

Closing this ticket.

- Eric

Mod​::PerlRegistry's wrapper​:

  my $eval = join '',
  'package ',
  $self->{PACKAGE}, ";",
  "sub handler {",
  "local \$0 = '$script_name';",
  $nph,
  $shebang,
  $line,
  ${ $self->{CODE} },
  "\n}"; # last line comment without newline?

@p5pRT
Copy link
Author

p5pRT commented May 3, 2012

@ikegami - Status changed from 'open' to 'rejected'

@p5pRT p5pRT closed this as completed May 3, 2012
@p5pRT
Copy link
Author

p5pRT commented May 3, 2012

From jozef@kutej.net

On 2012-05-02 03​:52, James E Keenan via RT wrote​:

Discussion in this thread petered out three years ago. Jesse seems to
be saying that this is not a bug in FindBin. Should we keep this ticket
open?

Nope, just close it.

Cheers
Jozef

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant