• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Per- kann Archive::Zip nicht installieren

Portitzer

Newbie
Hallo,
ich habe auf meinem Rechner Suse 9.3 installiert und brauche in einem Script das Modul Ar5chive::Zip.
Das habe ich installiert, bekomme jetzt aber folgende Fehlermeldung:

Can't locate Compress/Zlib.pm in @INC (@INC contains: /usr/lib/perl5/5.8.6/i586-linux-thread-multi /usr/lib/perl5/5.8.6 /usr/lib/perl5/site_perl/5.8.6/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.6/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl .) at /usr/lib/perl5/site_perl/5.8.6/Archive/Zip.pm line 24.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.6/Archive/Zip.pm line 24.
Compilation failed in require at zip.pl line 4.
BEGIN failed--compilation aborted at zip.pl line 4.

Also habe ich versucht, Compress::Zlib zu installieren, bekomme da aber auch eine Fehlermeldung:

cpan> install Compress::Zlib
Running install for module Compress::Zlib
Running make for P/PM/PMQS/Compress-Zlib-1.40.tar.gz
CPAN: Digest::MD5 loaded ok
Checksum for /root/.cpan/sources/authors/id/P/PM/PMQS/Compress-Zlib-1.40.tar.gz ok
Scanning cache /root/.cpan/build for sizes
Compress-Zlib-1.40/
Compress-Zlib-1.40/zlib-src/
Compress-Zlib-1.40/zlib-src/compress.c
Compress-Zlib-1.40/zlib-src/inffixed.h
Compress-Zlib-1.40/zlib-src/zlib.h
Compress-Zlib-1.40/zlib-src/zutil.h
Compress-Zlib-1.40/zlib-src/inftrees.h
Compress-Zlib-1.40/zlib-src/gzio.c
Compress-Zlib-1.40/zlib-src/zconf.h
Compress-Zlib-1.40/zlib-src/crc32.h
Compress-Zlib-1.40/zlib-src/uncompr.c
Compress-Zlib-1.40/zlib-src/zutil.c
Compress-Zlib-1.40/zlib-src/deflate.c
Compress-Zlib-1.40/zlib-src/inftrees.c
Compress-Zlib-1.40/zlib-src/crc32.c
Compress-Zlib-1.40/zlib-src/deflate.h
Compress-Zlib-1.40/zlib-src/inffast.h
Compress-Zlib-1.40/zlib-src/adler32.c
Compress-Zlib-1.40/zlib-src/trees.c
Compress-Zlib-1.40/zlib-src/infback.c
Compress-Zlib-1.40/zlib-src/trees.h
Compress-Zlib-1.40/zlib-src/inflate.h
Compress-Zlib-1.40/zlib-src/inffast.c
Compress-Zlib-1.40/zlib-src/inflate.c
Compress-Zlib-1.40/examples/
Compress-Zlib-1.40/examples/gzgrep
Compress-Zlib-1.40/examples/filtdef
Compress-Zlib-1.40/examples/filtinf
Compress-Zlib-1.40/examples/gzstream
Compress-Zlib-1.40/examples/gzcat
Compress-Zlib-1.40/Zlib.xs
Compress-Zlib-1.40/Changes
Compress-Zlib-1.40/fallback.h
Compress-Zlib-1.40/MANIFEST
Compress-Zlib-1.40/typemap
Compress-Zlib-1.40/t/
Compress-Zlib-1.40/t/05gzsetp.t
Compress-Zlib-1.40/t/03examples.t
Compress-Zlib-1.40/t/06gzdopen.t
Compress-Zlib-1.40/t/01version.t
Compress-Zlib-1.40/t/02zlib.t
Compress-Zlib-1.40/t/04encoding.t
Compress-Zlib-1.40/META.yml
Compress-Zlib-1.40/fallback.xs
Compress-Zlib-1.40/ANNOUNCE
Compress-Zlib-1.40/Zlib.pm
Compress-Zlib-1.40/config.in
Compress-Zlib-1.40/Makefile.PL
Compress-Zlib-1.40/README
Removing previously used /root/.cpan/build/Compress-Zlib-1.40

CPAN.pm: Going to build P/PM/PMQS/Compress-Zlib-1.40.tar.gz

Parsing config.in...
Building Zlib enabled
Looks Good.
Up/Downgrade complete.
Checking if your kit is complete...
Looks good
Writing Makefile for Compress::Zlib
cp Zlib.pm blib/lib/Compress/Zlib.pm
AutoSplitting blib/lib/Compress/Zlib.pm (blib/lib/auto/Compress/Zlib)
/usr/bin/perl /usr/lib/perl5/5.8.6/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8.6/ExtUtils/typemap -typemap typemap Zlib.xs > Zlib.xsc && mv Zlib.xsc Zlib.c
cc -c -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -g -Wall -pipe -DVERSION=\"1.40\" -DXS_VERSION=\"1.40\" -fPIC "-I/usr/lib/perl5/5.8.6/i586-linux-thread-multi/CORE" Zlib.c
/bin/sh: cc: command not found
make: *** [Zlib.o] Fehler 127
/usr/bin/make -- NOT OK
Running make test
Can't test without successful make
Running make install
make had returned bad status, install seems impossible

Jetzt bin ich mit meinem bescheidenen Wissen am Ende.
Kann mir jemand sagen, was nun zu tun ist??

Danke und viele Grüße
Kurt
 
Lass bitte das Selberkompilieren sein und installier mit YaST das Paket "perl-IO-Zlib" nach. Entweder von Deiner CD/DVD oder von hier:

http://rpm.pbone.net/index.php3/stat/4/idpl/1809149/com/perl-IO-Zlib-1.01-31.i586.rpm.html

Falls Du dieses Paket schon installiert haben solltest und es trotzdem nicht geht, dann poste mal die ersten 20 Zeilen des Perl-Skriptes, das Du am Ende ausführen willst.
 
OP
P

Portitzer

Newbie
Leider hat die Installation des Pakets auch nicht geholfen. Also poste ich hier mal die ersten relevanten Zeilen des Scripts. Ich bin kein Perl-Profi und das Script lief bis gestern auf Suse 9.2 einwandfrei.

#!/usr/bin/perl
sub zippen($name,$logo)
{
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
use Archive::Zip;
my $filename="/home/kurt/perl/daten/pois/".$name.".ov2";
my $dateiname=$name.".ov2";
my $bild_dir="/home/kurt/perl/daten/pois/";
my $bild=$bild_dir.$logo;
my $bildname=$name.".bmp";
my $zipname="/home/kurt/perl/daten/zips/".$name.".zip";
my $zip = Archive::Zip->new();
$zip->addFile("$filename","$dateiname");
$zip->addFile("$bild","$bildname");
$zip->writeToFileNamed("$zipname");
}
$name="GCgermany";
$logo="gc_icon.bmp";
&zippen($name,$logo);

Wenn ich das Script starte kommt folgende Fehlermeldung:

Can't locate Compress/Zlib.pm in @INC (@INC contains: /usr/lib/perl5/5.8.6/i586-linux-thread-multi /usr/lib/perl5/5.8.6 /usr/lib/perl5/site_perl/5.8.6/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.6/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl .) at /usr/lib/perl5/site_perl/5.8.6/Archive/Zip.pm line 24.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.6/Archive/Zip.pm line 24.
Compilation failed in require at zip.pl line 4.
BEGIN failed--compilation aborted at zip.pl line 4.

Gruß Kurt
 

rolle

Guru
Ich kenne mich mit Perl zwar nicht aus, aber @INC klingt so ähnlich wie PATH. Und wenn ich die Fehlermeldung richtig deute, dann findet er in diesem Suchpfad eben nicht den Befehl Zip.
Als Lösung böten sich zwei Möglichkeiten an: Entweder ein symbolischer Link in einem der durchsuchten Verzeichnisse auf Zip oder die Aufnahme des Verzeichnisses, in dem Zip liegt in den Suchpfad.
 
OP
P

Portitzer

Newbie
Nee, das Script sucht das entsprechende Perl-Modul (Compress::Zlib) und findet es nicht. Aber der Versuch, das zu installieren klappt nicht...

Gruß Kurt

PS:
Danke für Eure Hilfe, ich habs inzwischen hingekriegt...
Suse 9.3 mag die CPAN-Module wohl nicht. Mit denen von der CD (mit Yast installiert) klappt es jetzt.
 
Oben