Im Upgrade: [FATAL] Carp::croak: Can't locate Email/Valid.pm in @INC

  • Guten Abend Allerseits :S


    Ich wollte heute mit dem I-MSCP Installer meine PHP-Version auf Version 7.1 von 5.6 kommend anheben. Hierbei hat der Installer jedoch gleich im Log folgenden Fehler gebracht:


    Code
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:
    
    The following packages have unmet dependencies:
     libssl-dev : Depends: libssl1.1 (= 1.1.0f-3+deb9u2) but 1.1.1-2+0~20181105132527.5+stretch~1.gbp90eb86 is to be installed
    E: Unable to correct problems, you have held broken packages.

    Daher habe ich versucht die richtige Version zu installieren. Jedoch wird hierbei nun mit folgendem Fehler während der apt-get install abgebrochen:


    Code
    [FATAL] Carp::croak: Can't locate Email/Valid.pm in @INC (you may need to install the Email::Valid module) (@INC contains: /var/www/imscp/engine/PerlLib /var/www/imscp/engine/PerlVendor /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /var/www/imscp/engine/PerlLib/iMSCP/Dialog/InputValidation.pm line 30, <$fh> line 58.
    BEGIN failed--compilation aborted at /var/www/imscp/engine/PerlLib/iMSCP/Dialog/InputValidation.pm line 30, <$fh> line 58.
    Compilation failed in require at /var/www/imscp/engine/PerlLib/Package/FrontEnd/Installer.pm line 32, <$fh> line 58.
    BEGIN failed--compilation aborted at /var/www/imscp/engine/PerlLib/Package/FrontEnd/Installer.pm line 32, <$fh> line 58.
    Compilation failed in require at /var/www/imscp/engine/PerlVendor/Class/Autouse.pm line 637, <$fh> line 58.
     at /var/www/imscp/engine/PerlLib/Package/FrontEnd.pm line 149, <$fh> line 58.
            Package::FrontEnd::dpkgPostInvokeTasks(Package::FrontEnd=HASH(0x55d4a421a300)) called at /usr/local/sbin/imscp-dpkg-post-invoke.pl line 85
    
    E: Problem executing scripts DPkg::Post-Invoke 'if [ -x /usr/local/sbin/imscp-dpkg-post-invoke.pl -a ${IMSCP_SETUP:=0} -eq 0 ]; then /usr/bin/perl /usr/local/sbin/imscp-dpkg-post-invoke.pl -d; fi'
    E: Sub-process returned an error code

    Eine Vermutung habe ich ja bereits.. Oben im Fehlercode steht etwas von "reinstall EMail::Valid module". Jedoch habe ich keine Ahnung was das genau sein soll. Habe bis jetzt auch leider keine gewinnbringende Lösung gefunden. Mein I-MSCP ist momentan einfach nur komplett futsch :| Vielleicht weiß ja hier einer Bescheid oder hatte schon mal ein ähnliches Problem.


    Grüße :thumbup:

  • Das Skript in /usr/local/sbin/imscp-dpkg-post-invoke.pl beendet nicht, weil wahrscheinlich eine Abhängigkeit, die in der neuen Version im Debian-Paket offenbar vergessen wurde, nicht vorhanden ist.

    Gesucht wird ein Perl-Paket Email::Valid enthalten in https://packages.debian.org/stretch/libemail-valid-perl


    Wenn so eine Fehlermeldung kommt, rufst Du am besten https://www.debian.org/distrib/packages#search_contents auf und suchst im Debian Repository nach dem Filenamen in allen Paketen. Was dabei herauskommt kann man auch mit apt install paketname installieren.

  • Fall kein Browser zur Hand ist, geht es auch so:

    Code
    root@host:~# apt -y install apt-file
    root@host:~# apt update
    root@host:~# apt-file search Email/Valid.pm
    libemail-valid-perl: /usr/share/perl5/Email/Valid.pm