perl "open failed: No such file or directory"

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
matzup
Beiträge: 23
Registriert: 26.06.2010 00:12:36

perl "open failed: No such file or directory"

Beitrag von matzup » 06.11.2010 10:56:52

Bei meinem Nokia n900 mit Maemo-System (Debian Based) bekomme ich beim ausführen eines Perl Scriptes immer folgenede Fehlermeldung:

Code: Alles auswählen

open failed: No such file or directory
Um nachzuvollziehen welche Schritte ich gegangen bin poste ich noch das SSH Protokoll:

Code: Alles auswählen

ssh root@192.168.1.160
root@192.168.1.160's password: 
 
BusyBox v1.10.2 (Debian 3:1.10.2.legal-1osso30+0m5) built-in shell (ash)
Enter 'help' for a list of built-in commands.
 
Nokia-N900:~# cd /home/user/MyDocs 
 
Nokia-N900:/home/user/MyDocs# perl modifica.pl
open failed: No such file or directory
 
Nokia-N900:/home/user/MyDocs# ls -al
[...]
-rw-r--r--    1 user     root         1492 Nov  5 08:07 modifica.pl
[...]

Nokia-N900:/home/user/MyDocs#
Wie man sieht ist diese Datei auf jedenfall vorhanden und auch richtig eingetragen worden.
Deshalb macht die Aussage "No such file or directory" für mich keinen Sinn und denke daher das diese Fehlermeldung sich auf ein Perl-Tool hinweist.

Ich hab dazu durch Google folgende Fehlerbeschreibung gefunden: http://tinyurl.com/3azo2sx
Jedoch bin ich mir nicht sicher ob man die Fehler-/Lösungsbeschreibung auch auf das N900 anwenden kann.
Jedenfalls habe ich keine Datei namens "libperl.so" auf dem System. (Gesucht habe ich mit find -iname "libperl.so")

Hat jemand eine Idee? Oder weiß jemand was ich dabei übersehen habe?

matzup
Beiträge: 23
Registriert: 26.06.2010 00:12:36

Re: perl "open failed: No such file or directory"

Beitrag von matzup » 06.11.2010 10:58:58

Perl ist übrigens installiert:

Code: Alles auswählen

Nokia-N900:/home/user/MyDocs# apt-get install perl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
perl is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: perl "open failed: No such file or directory"

Beitrag von roli » 06.11.2010 14:52:24

Hi,

versuch doch mal Perl vollqualifiziert aufzurufen.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

matzup
Beiträge: 23
Registriert: 26.06.2010 00:12:36

Re: perl "open failed: No such file or directory"

Beitrag von matzup » 06.11.2010 15:11:02

roli hat geschrieben:Hi,
versuch doch mal Perl vollqualifiziert aufzurufen.
Wie macht man das?

123456
Beiträge: 6126
Registriert: 08.03.2003 14:07:24

Re: perl "open failed: No such file or directory"

Beitrag von 123456 » 06.11.2010 15:14:02

ich vermute er meint mit Pfad...

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: perl "open failed: No such file or directory"

Beitrag von roli » 06.11.2010 15:25:39

Jepp meinte ich, also sowas wie
/usr/bin/perl -v
dann siehst du schon mal ob dein Perl selber funktioniert.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

matzup
Beiträge: 23
Registriert: 26.06.2010 00:12:36

Re: perl "open failed: No such file or directory"

Beitrag von matzup » 06.11.2010 16:50:42

Code: Alles auswählen

Nokia-N900:~# /usr/bin/perl -v

This is perl, v5.8.3 built for arm-linux-gnueabi-thread-multi

Copyright 1987-2003, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'.  If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.

gxyz
Beiträge: 202
Registriert: 26.07.2010 13:54:21
Lizenz eigener Beiträge: MIT Lizenz

Re: perl "open failed: No such file or directory"

Beitrag von gxyz » 06.11.2010 18:41:23

... die Fehlermeldung bezieht sich sicher nicht darauf, dass Perl das Script nicht findet, sondern auf irgendeinen fehlgeschlagenen Aufruf von "open".

Um festzustellen, ob Dein Perl ueberhaupt funktioniert, kannst Du 'mal

Code: Alles auswählen

perl -e 'print "Hello World\n"'
versuchen. Wo Perl nach Modulen etc sucht, erfaehrst Du mit

Code: Alles auswählen

perl -V
Falls Du "strace" zur Verfuegung hast (normalerweise aus dem Paket gleichen Namens), kannst Du mit

Code: Alles auswählen

strace -e open  perl mein_programm.pl
alle "open"-Aufrufe und deren Rückgabewerte bekommen und so feststellen,
was konkret nicht gefunden wurde ...

matzup
Beiträge: 23
Registriert: 26.06.2010 00:12:36

Re: perl "open failed: No such file or directory"

Beitrag von matzup » 06.11.2010 21:19:14

Das sind die Ergebnisse:

Code: Alles auswählen

Nokia-N900:~# perl -e 'print "Hello World\n"'
Hello World

Code: Alles auswählen

Nokia-N900:~# perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 3) configuration:
  Platform:
    osname=linux, osvers=2.6.32-5-amd64, archname=arm-linux-gnueabi-thread-multi
    uname='linux hebifh023 2.6.32-5-amd64 #1 smp tue jun 1 06:11:58 utc 2010 arm gnulinux '
    config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=arm-linux-gnueabi -Dprefix=/usr -Dprivlib=/usr/share/perl/5.8 -Darchlib=/usr/lib/perl/5.8 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.8.3 -Dsitearch=/usr/local/lib/perl/5.8.3 -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 -A undef:i_db -Uafs -Ud_csh -Uusesfio -Uusenm -Duseshrplib -Dlibperl=libperl.so.5.8.3 -Dd_dosuid -des'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef 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 -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -I/usr/local/include'
    ccversion='', gccversion='4.2.1', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lgdbm -lgdbm_compat -ldl -lm -lpthread -lc -lcrypt
    perllibs=-ldl -lm -lpthread -lc -lcrypt
    libc=/lib/libc-2.5.so, so=so, useshrplib=true, libperl=libperl.so.5.8.3
    gnulibc_version='2.5'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
  Built under linux
  Compiled at Sep  1 2010 15:55:32
  @INC:
    /etc/perl
    /usr/local/lib/perl/5.8.3
    /usr/local/share/perl/5.8.3
    /usr/lib/perl5
    /usr/share/perl5
    /usr/lib/perl/5.8
    /usr/share/perl/5.8
    /usr/local/lib/site_perl
    .

Code: Alles auswählen

Nokia-N900:~# strace -e open  perl mein_programm.pl
-sh: strace: not found
Nokia-N900:~# apt-get install strace               
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package strace is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package strace has no installation candidate
Am meisten irritiert mich daran, was als Meldung kam als ich strace installieren wollte.

123456
Beiträge: 6126
Registriert: 08.03.2003 14:07:24

Re: perl "open failed: No such file or directory"

Beitrag von 123456 » 06.11.2010 21:35:41

evtl. ein "apt-get update" vergessen? ansonsten mal die Paketquellen anschauen, die Fehlermeldung weist darauf hin, das es keine Quelle zum installieren gibt. Beim Maemo sehen die wahrscheinlich etwas anders aus.

du kannst auch mal "apt-cache search strace" versuchen.

gxyz
Beiträge: 202
Registriert: 26.07.2010 13:54:21
Lizenz eigener Beiträge: MIT Lizenz

Re: perl "open failed: No such file or directory"

Beitrag von gxyz » 06.11.2010 21:51:34

matzup hat geschrieben:Das sind die Ergebnisse:
...
... sieht eigentlich recht plausibel aus. Vermutlich stammt die Meldung also von einer Zeile wie

Code: Alles auswählen

open F, "/irgend/eine/datei" or die "open failed: $!\n"
in dem Script, das Du versuchst zu starten oder einem von diesem Script verwendeten Modul. Wenn Du kein strace hast, kannst Du natuerlich auch mit
"grep 'open failed'" auf die Suche gehen ...

Antworten