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

Fehler bei Perl-Modulinstallation

Glamatus

Newbie
Hallo alle zusammen. :)
Seit einiger Zeit bin ich nun von Windows XP auf SuSE 10.1 umgestiegen und soweit absolut zufrieden.
Allerdings habe ich nun ein Problem, das ich als Linux-Anfänger selbst nicht mehr lösen kann.
Ein Freund hat mir den Perl-Audio-Converter empfohlen. Soweit funktioniert auch alles einwandfrei, allerdings habe ich Probleme mit dem übertragen von den Daten der Tags. Dazu benötige ich das Perl-Modul Audio::FLAC::Header.

Wenn ich über die Konsole mit perl -MCPAN -e 'install Audio::FLAC::Header' versuche das Modul zu installieren erhalte ich folgende Fehlermeldung:

Writing Makefile for Audio::FLAC::Header
cp Header.pm blib/lib/Audio/FLAC/Header.pm
/usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8.8/ExtUtils/typemap Header.xs > Header.xsc && mv Header.xsc Header.c
cc -c -Wall -O2 -march=i586 -mtune=i686 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -Wall -pipe -DVERSION=\"1.4\" -DXS_VERSION=\"1.4\" -fPIC "-I/usr/lib/perl5/5.8.8/i586-linux-thread-multi/CORE" -O Header.c
Header.xs:31:22: error: FLAC/all.h: Datei oder Verzeichnis nicht gefunden
Header.xs:53: error: expected declaration specifiers or ‘...’ before ‘FLAC__StreamMetadata’
Header.xs: In function ‘_read_metadata’:
Header.xs:58: error: ‘block’ undeclared (first use in this function)
Header.xs:58: error: (Each undeclared identifier is reported only once
Header.xs:58: error: for each function it appears in.)
Header.xs:60: error: ‘FLAC__METADATA_TYPE_STREAMINFO’ undeclared (first use in this function)
Header.xs:115: error: ‘FLAC__METADATA_TYPE_PADDING’ undeclared (first use in this function)
Header.xs:116: error: ‘FLAC__METADATA_TYPE_SEEKTABLE’ undeclared (first use in this function)
Header.xs:120: error: ‘FLAC__METADATA_TYPE_APPLICATION’ undeclared (first use in this function)
Header.xs:145: error: ‘FLAC__METADATA_TYPE_VORBIS_COMMENT’ undeclared (first use in this function)
Header.xs:185: error: ‘FLAC__METADATA_TYPE_CUESHEET’ undeclared (first use in this function)
Header.xs:190: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
Header.xs:190: error: ‘cs’ undeclared (first use in this function)
Header.xs:201: error: ‘track_num’ undeclared (first use in this function)
Header.xs:203: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
Header.xs:203: error: ‘track’ undeclared (first use in this function)
Header.xs:217: error: ‘index_num’ undeclared (first use in this function)
Header.xs:219: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
Header.xs:221: error: request for member ‘number’ in something not a structure or union
Header.xs:225: error: request for member ‘offset’ in something not a structure or union
Header.xs:233: error: request for member ‘offset’ in something not a structure or union
Header.xs: At top level:
Header.xs:258: error: expected ‘)’ before ‘*’ token
Header.xs: In function ‘XS_Audio__FLAC__Header_new_XS’:
Header.xs:316: error: ‘FLAC__Metadata_Chain’ undeclared (first use in this function)
Header.xs:316: error: ‘chain’ undeclared (first use in this function)
Header.xs:316: warning: implicit declaration of function ‘FLAC__metadata_chain_new’
Header.xs:323: warning: implicit declaration of function ‘FLAC__metadata_chain_read’
Header.xs:324: warning: implicit declaration of function ‘print_error_with_chain_status’
Header.xs:329: error: ‘FLAC__Metadata_Iterator’ undeclared (first use in this function)
Header.xs:329: error: ‘iterator’ undeclared (first use in this function)
Header.xs:329: warning: implicit declaration of function ‘FLAC__metadata_iterator_new’
Header.xs:330: error: ‘FLAC__StreamMetadata’ undeclared (first use in this function)
Header.xs:330: error: ‘block’ undeclared (first use in this function)
Header.xs:331: error: ‘FLAC__bool’ undeclared (first use in this function)
Header.xs:331: error: expected ‘;’ before ‘ok’
Header.xs:338: warning: implicit declaration of function ‘FLAC__metadata_iterator_init’
Header.xs:341: warning: implicit declaration of function ‘FLAC__metadata_iterator_get_block’
Header.xs:342: error: ‘ok’ undeclared (first use in this function)
Header.xs:350: error: too many arguments to function ‘_read_metadata’
Header.xs:355: warning: implicit declaration of function ‘FLAC__metadata_iterator_next’
Header.xs:357: warning: implicit declaration of function ‘FLAC__metadata_iterator_delete’
Header.xs:360: warning: implicit declaration of function ‘FLAC__metadata_chain_delete’
make: *** [Header.o] Fehler 1
/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




Vermutlich handelt es sich dabei um einen typischen Anfängerfehler, allerdings weiß ich mir selbst einfach nicht mehr zu helfen und hoffe dabei auf euch.:wink:


Viele Grüße, Glamatus
 

abgdf

Guru
Hallo Glamatus,

bitte lade das Modul von der Seite

http://search.cpan.org/~daniel/Audio-FLAC-Header-1.4/Header.pm

von Hand runter und lies das README in dem tar.gz (wie man das entpackt steht auf meiner Seite (siehe "www"-Button unten).)

Viele Grüße
 
OP
G

Glamatus

Newbie
Hi abgdf.

Ich habe mich genau an die Readme-Datei gehalten, das Ergebnis bzw. die Fehlermeldung ist allerdings die gleiche geblieben.
 
OP
G

Glamatus

Newbie
Hallo sc_m

Das Paket ist bereits installiert. Einen Einfluss auf die Meldung hat es nicht.
 

sc_m

Member
Ich hatte es sogar vorher ausprobiert. Er findet die Datei FLAC/all.h nicht, ich erhielt diese Fehlermeldungen ebenfalls. Nach einer Installation von flac-devel ging alles glatt.
Die Datei ist Bestandteil von flac-devel, ich schlage vor, das einfach noch einmal zu installieren, vielleicht ist mit der Installation etwas nicht in Ordnung.
Liefert "locate FLAC/all.h" (evtl. nach updatedb) etwas zurück?
 
OP
G

Glamatus

Newbie
Du hattest recht! Der Hund lag in diesem Modul begraben. Eine Neuinstallation hat das Problem behoben. Vielen Dank!

Da ich solche Fehler in Zukunft nach Möglichkeit vermeiden möchte nochmal eine Anfänger-Frage zu diesem Thema ;-) :
Wie genau kann ich die Abhängigkeiten der einzelnen Pakete zueinander denn manuell prüfen um eventuell fehlende Pakete zu finden? Prinzipiell macht Yast2 das ja automatisch, es müsste ja allerdings auch eine manuelle Möglichkeit geben.



Viele Grüße und nochmal vielen Dank!
 

sc_m

Member
Die Information, welche Abhängigkeiten ein rpm hat, wird dem Paket direkt mitgegeben. Auslesen lässt sich das etwa so:
Code:
ada@barnabas:~> rpm -qR flac-devel
flac = 1.1.2
glibc-devel
libstdc++-devel
libogg-devel
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadIsBzip2) <= 3.0.5-1
Das hilft allerdings beim Installieren von Perl-Modulen nicht weiter. Meistens hängen diese Module von anderen Perl-Modulen ab, die die CPAN Shell sich bei der Installation automatisch von CPAN.org abholt. Wenn aber etwa spezielle Bibliotheken benötigt werden, die nicht von dort kommen, dann helfen die Fehlermeldungen. In diesem Beispiel zeigte die erste, dass FLAC/all.h vermisst wurde. Google liefert unter einem der ersten Treffer das Paket flac-devel, also kann es wohl nicht schaden, das probehalber einmal zu installieren.
 
Oben