Willkommen im kivitendo Forum! Hier erweitern und teilen AnwenderInnen und EntwicklerInnen ihr Wissen.

Teste kivitendo!

kivitendo Demo

kivitendo Demo mit Schweizer Kontenplan und neuem Layout

Unterstützt kivitendo mit der Basis-Subskription!

0 Punkte

Hallo, ich wünsche ein schönes neues Jahr ins Forum.

Nach der Installation vn Kivitendo 3.0.auf Suse 12.1. hab ich die Meldung: Premature end of script headers: login.pl

Im Apache errorlog:
Can't locate Email/MIME/Creator.pm in @INC (@INC contains: /srv/www/htdocs/kivitendo-erp

  cpan[1]> install Email::MIME::Creator
  Going to read '/root/.cpan/Metadata'
  Database was generated on Mon, 31 Dec 2012 18:31:03 GMT
  Email::MIME::Creator is up to date (1.911).

BEGIN failed--compilation aborted at /srv/www/htdocs/kivitendo-erp/SL/Mailer.pm line 26.

  SL/Mailer/Sendmail.pm,line26:  my $sendmail  = $::lx_office_conf{applications}->{sendmail} 

Compilation failed in require at /srv/www/htdocs/kivitendo-erp/SL/Form.pm line 61.

SL/Form.pm, line 61 : use SL::Mailer;

BEGIN failed--compilation aborted at SL/Dispatcher.pm line 34.

SL/Dispatcher.pm line 34:  use SL::Form;

Compilation failed in require at /srv/www/htdocs/kivitendo-erp/admin.pl line 5.

  admin.pl line 5: use SL::Dispatcher;

BEGIN failed--compilation aborted at /srv/www/htdocs/kivitendo-erp/admin.pl line 5.

Premature end of script headers: admin.pl

Wie teile ich Apache mit, wo und wie er das Modul finden kann? Warum steht noch lx_office_conf im Kivitendo?

Für die Hilfe sag ich schon mal Danke.

von

2 Antworten

0 Punkte
 
Beste Antwort

seufz

Schau mal bitte ob Dein SuSE ein Paket perl-Email-MIME-Creator kennt und nicht installiert hat.

Hintergrund:

Aus irgendeinem Grund sind die rpm Pakete von fedora und SuSE weder gleich, noch 1:1 den cpan Paketen zugeordnet. In diesem Fall haben sie das cpan Paket Email::MIME aufgespalten in:

  • perl-Email-MIME
  • perl-Email-MIME-Creator (< da ist Email::MIME::Creator drin)
  • perl-Email-MIME-Modifier (< Zitat: "obsolete do-nothing library")

Dein cpan erkennt, dass es Email::MIME::Creator zum cpan Paket Email::MIME gehört, und DAS gibt es.
Unser Installcheck weiß das auch und prüft deshalb nur auf Email::MIME, was ja auch installiert ist.

Das Problem gibt es auch bei anderen paketen, bei diesem hier war es mir aber bis eben neu.

von
ausgewählt von Anonym

Hallo, vielen Dank für die Tips.
Auf diesem Rechner lief lx-erp 2.7. ohne Mucken, ich habe nur kivitendo 3.0 runtergeladen und entpackt und in der Apache-Conf die Pfade zu kivitendo eingegbebn, beim login kam die Fehlermeldung.

Wulf`s Vermutiung war richtig. Ich habe wahrscheinlich mal Module als user mit cpan installiert, und die sind in einem Ordner Perl5 in meinem home gelandet. Lx hat das wohl kapiert, kivitendo nicht. Ich hab den Perl5 Ordner gelöscht, hat aber nix gebracht, cpan hat sich einen neuen gemacht. Die Lösung war dann, wie immer im Leben, ganz einfach.
Als root habe ich "/home/mein-home/" in "/home/mein-homeX/" umbenannt und habe alle Module aus dem istallation_check in der cpan shell- mit

 i Modul::Name durchgecheckt.
                               cpan[1]> i Email::MIME::Creator
Going to read '/root/.cpan/Metadata'
  Database was generated on Fri, 04 Jan 2013 18:31:03 GMT
Module id = Email::MIME::Creator
    CPAN_USERID  RJBS (Ricardo SIGNES <rjbs@cpan.org>)
    CPAN_VERSION 1.911
    CPAN_FILE    R/RJ/RJBS/Email-MIME-1.911.tar.gz
    UPLOAD_DATE  2012-07-22
    MANPAGE      Email::MIME::Creator - obsolete do-nothing library
    INST_FILE    /usr/lib/perl5/site_perl/5.14.2/Email/MIME/Creator.pm
    INST_VERSION 1.911

Und so habe ich den Pfad zu jedem Modul gefunden. Die Module, die in "/home/mein-home/perl5/..../" lagen, habe ich dann als root mit gesperrtem "/mein-home/" mit cpan installiert. Und die Maschine läuft schon wieder toll.
Nochmals vielen Dank.

Ich weiß nicht wie ich das hier auf gelöst stellen ksnn.

0 Punkte

Wie teile ich Apache mit, wo und wie er das Modul finden kann?

das muss perl finden, nicht der httpd apache
./scripts/installation_check.pl -v
muss sauber durchlaufen.

Warum steht noch lxofficeconf im Kivitendo?

$::lx_office_conf ist nur eine Objektrefferenz, die vom Modul SL::LxOfficeConf mit der Kofiguration gefuellt wird.
und zwar mit den Daten aus
config/kivitendo.conf.default

dann werden die Werte die in 

confg/kivitendo.conf
stehen daruebergeschrieben.
Wenn es keine kivitendo.conf gibt wird nach
lx_office.conf
gesucht und diese Werte werden verwendet.

das ist also schon ok.

mir sind Deine Feherausgaben nicht ganz klar

  1. taucht der speicherort von Email::MIME in @INC auf?
    (@INC entspricht bei perl ungefaehr dem $PATH von der bash)

  2. SL/Mailer/Sendmail.pm,line26
    hier werden eigentlich nur Variablen gesezt, mir ist unklar
    warum das in Deiner Fehlerausgabe auftaucht.
    Eventuell schickst Du noch mal die Fehlerausgabe im Zusammengang ohne sie mit
    der Ausgabe von Anderen Befehlen zu vermischen.

  3. eigentlich muesstest Du, wenn via CPAN Email::MIME und nicht Email::MIME::Creator installieren
    aber schau erst mal was bei ./scripts/installation_check.pl -v rauskommt

von (18.0k Punkte)

Hier ist die errorlog:
Can't locate Email/MIME/Creator.pm in @INC (@INC contains: /srv/www/htdocs/kivitendo-erp /srv/www/htdocs/kivitendo-erp/modules/override /usr/lib/perl5/site_perl/5.14.2/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.14.2 /usr/lib/perl5/vendor_perl/5.14.2/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.14.2 /usr/lib/perl5/5.14.2/x86_64-linux-thread-multi /usr/lib/perl5/5.14.2 /usr/lib/perl5/site_perl/5.14.2/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.14.2 /usr/lib/perl5/site_perl . /srv/www/htdocs/kivitendo-erp/modules/fallback) at /srv/www/htdocs/kivitendo-erp/SL/Mailer.pm line 26.
[Wed Jan 02 09:34:16 2013] [error] [client ::1] BEGIN failed--compilation aborted at /srv/www/htdocs/kivitendo-erp/SL/Mailer.pm line 26.
[Wed Jan 02 09:34:16 2013] [error] [client ::1] Compilation failed in require at /srv/www/htdocs/kivitendo-erp/SL/Form.pm line 61.
[Wed Jan 02 09:34:16 2013] [error] [client ::1] BEGIN failed--compilation aborted at /srv/www/htdocs/kivitendo-erp/SL/Form.pm line 61.
[Wed Jan 02 09:34:16 2013] [error] [client ::1] Compilation failed in require at SL/Dispatcher.pm line 34.
[Wed Jan 02 09:34:16 2013] [error] [client ::1] BEGIN failed--compilation aborted at SL/Dispatcher.pm line 34.
[Wed Jan 02 09:34:16 2013] [error] [client ::1] Compilation failed in require at /srv/www/htdocs/kivitendo-erp/admin.pl line 5.
[Wed Jan 02 09:34:16 2013] [error] [client ::1] BEGIN failed--compilation aborted at /srv/www/htdocs/kivitendo-erp/admin.pl line 5.
[Wed Jan 02 09:34:16 2013] [error] [client ::1] Premature end of script headers: admin.pl
Den instation_check hatte ich vergessen:
hecking Required Modules:
Looking for parent ....................................................... 0.225
Looking for Archive::Zip 1.16 ............................................. 1.30
Looking for Clone ......................................................... 0.31
Looking for Config::Std .................................................. 0.900
Looking for DateTime ...................................................... 0.70
Looking for DBI 1.50 ..................................................... 1.616
Looking for DBD::Pg 1.49 ................................................ 2.18.0
Looking for Email::Address ............................................... 1.892
Looking for Email::MIME .................................................. 1.911
Looking for FCGI 0.72 ..................................................... 0.74
Looking for JSON .......................................................... 2.53
Looking for List::MoreUtils 0.21 .......................................... 0.32
Looking for Params::Validate .............................................. 1.00
Looking for PDF::API2 2.000 .............................................. 2.015
Looking for Rose::Object ................................................. 0.859
Looking for Rose::DB ..................................................... 0.766
Looking for Rose::DB::Object ............................................. 0.797
Looking for String::ShellQuote 1.01 ....................................... 1.04
Looking for Sort::Naturally ............................................... 1.02
Looking for Test::Harness 3.00 ............................................ 3.23
Looking for Template 2.18 ................................................. 2.22
Looking for Text::CSV_XS 0.23 ............................................. 0.82
Looking for Text::Iconv 1.2 ................................................ 1.7
Looking for URI 1.35 ...................................................... 1.59
Looking for XML::Writer 0.602 ............................................ 0.612
Looking for YAML 0.62 ..................................................... 0.62
Im Errorlog steht in der ersten Zeile Email::MIME::Creator, deswegen habe ich gedacht, der ist nicht da und ich installiere den noch.

ist mir gerade unklar was da passiert ....
wenn installation_check das modul findet muss kivitendo es eigentlich auch finden

hast Du locate auf dem Rechner?

wenn ja mach mal
locate Email/MIME/
mich interessiert vor allem ob Du an mehreren Stellen das modul auf dem System hast

wenn nein, entweder locate installieren und aktuallisieren mit
updatedb
oder
find / | grep Email/MIME/

sowohl waehrend updatedb wie auch waehrend des find kannst Du ruhig nen kaffee trinken gehen.

schick mal die Zeilen die das auswirft, duerften nicht viele sein

Hallo,
Ich habe Kivitendo hier auch auf openSuSE 12.1 (64bit) laufen. Das funktioniert wunderbar. Nur mal eine Idee: Wenn ich "Premature End of Script Header" bekomme, dann liegt das im Normalfall immer an falschen Berechtigungen! Ich nehme mal an, dass der Apache mit YaST2 eingerichtet wurde/ verwaltet wird. Dort habe ich das "cgi-bin"- Verzeichnis auf den gleichen Pfad gesetzt, wie das "http"- Verzeichnis gesetzt (liegt ja alles im selben Verzeichnis). Außerdem sollte alles im Kivitendo- Verzeichnis dem Benutzer "wwwrun" gehören und der Gruppe "www". In der Anleitung sind auch explizit die Einstellungen für die Servergrundkonfiguration angegeben. Dort nur die Pfade anpassen und in die "/etc/apache2/httpd.conf" eintragen und gut.

MfG
SNR

dann liegt das im Normalfall immer an falschen Berechtigungen!

das ist ein sehr guter Punkt, kannst Du bitte mal den check als der Benutzer ausfuehren, unter dem auch der apache laeuft?

sudo su -
su wwwrun
./scripts/installation_check.pl -v
id

und die Ausgabe schicken

Ähnliche Fragen

0 Punkte
1 Antwort
Gefragt 2, Mär 2014 von Anonym
0 Punkte
1 Antwort
0 Punkte
1 Antwort
Gefragt 3, Feb 2015 von Ciatronical (10.1k Punkte)
0 Punkte
1 Antwort
Gefragt 4, Nov 2015 von Anonym
...