I have installed mailscanner and mailwatch along with cpanel/whm server. Can you please help me regarding this issue, why it can't fetch perl modules. Code: /etc/init.d/MailScanner restart Shutting down MailScanner daemons: MailScanner: Waiting for MailScanner to stop.. Starting MailScanner daemons: MailScanner: Can't locate Encoding/FixLatin.pm in @INC (@INC contains: /usr/mailscanner/lib /usr/mailscanner/lib /usr/local/cpanel /usr/local/cpanel/3rdparty/perl/514/lib64/perl5/cpanel_lib/x86_64-linux-64int /usr/local/cpanel/3rdparty/perl/514/lib64/perl5/cpanel_lib /usr/local/cpanel/3rdparty/perl/514/lib64/perl5/5.14.4/x86_64-linux-64int /usr/local/cpanel/3rdparty/perl/514/lib64/perl5/5.14.4 /opt/cpanel/perl5/514/site_lib/x86_64-linux-64int /opt/cpanel/perl5/514/site_lib) at /usr/mailscanner/lib/MailScanner/CustomFunctions/MailWatch.pm line 28. BEGIN failed--compilation aborted at /usr/mailscanner/lib/MailScanner/CustomFunctions/MailWatch.pm line 28. Compilation failed in require at /usr/mailscanner/lib/MailScanner/CustomConfig.pm line 41. Compilation failed in require at /usr/mailscanner/bin/MailScanner line 97. BEGIN failed--compilation aborted at /usr/mailscanner/bin/MailScanner line 97.
Following are the logs of dbitrace: root@vps [~]# cat dbitrace.log Code: DBI 1.633-nothread default trace level set to 0x0/2 (pid 28155 pi 0) at MailWatch.pm line 31 via CustomConfig.pm line 41 -- DBI::END ($@: , $!: ) -- DBI::END ($@: , $!: ) -- DBI::END ($@: , $!: ) -- DBI::END ($@: , $!: ) -> DBI->connect(dbi:SQLite:/var/spool/MailScanner/incoming/SpamAssassin.cache.db, , ****, HASH(0x405f0c8)) -> DBI->install_driver(SQLite) for linux perl=5.014004 pid=28164 ruid=47 euid=47 install_driver: DBD::SQLite version 1.46 loaded from /usr/local/cpanel/3rdparty/perl/514/lib64/perl5/cpanel_lib/x86_64-linux-64int/DBD/SQLite.pm <- install_driver= DBI::dr=HASH(0x4f98ad0) -> connect for DBD::SQLite::dr (DBI::dr=HASH(0x4f98ad0)~0x4f98b48 '/var/spool/MailScanner/incoming/SpamAssassin.cache.db' '' **** HASH(0x27f9038)) <- connect= ( DBI::db=HASH(0x4f993e8) ) [1 items] at DBI.pm line 690 -> STORE for DBD::SQLite::db (DBI::db=HASH(0x4f99340)~INNER 'PrintError' 0) <- STORE= ( 1 ) [1 items] at DBI.pm line 742 -> STORE for DBD::SQLite::db (DBI::db=HASH(0x4f99340)~INNER 'AutoCommit' 1) <- STORE= ( 1 ) [1 items] at DBI.pm line 742 -> STORE for DBD::SQLite::db (DBI::db=HASH(0x4f99340)~INNER 'InactiveDestroy' 1) <- STORE= ( 1 ) [1 items] at DBI.pm line 745 -> STORE for DBD::SQLite::db (DBI::db=HASH(0x4f99340)~INNER 'Username' '') <- STORE= ( 1 ) [1 items] at DBI.pm line 745 -> connected in DBD::_::db for DBD::SQLite::db (DBI::db=HASH(0x4f993e8)~0x4f99340 'dbi:SQLite:/var/spool/MailScanner/incoming/SpamAssassin.cache.db' '' **** HASH(0x405f0c8)) <- connected= ( undef ) [1 items] at DBI.pm line 752 <- connect= DBI::db=HASH(0x4f993e8) -> STORE for DBD::SQLite::db (DBI::db=HASH(0x4f99340)~INNER 'dbi_connect_closure' CODE(0x4f98aa0)) <- STORE= ( 1 ) [1 items] at DBI.pm line 761 -> do for DBD::SQLite::db (DBI::db=HASH(0x4f993e8)~0x4f99340 'PRAGMA default_synchronous = OFF') -> DESTROY for DBD::SQLite::st (DBI::st=HASH(0x4f9e388)~INNER) sqlite trace: Finalizing statement: 4fb2a28 at dbdimp.c line 1175 sqlite trace: Removing statement from list: 4fb2a28 at dbdimp.c line 1188 <- DESTROY= ( undef ) [1 items] at SQLite.pm line 211 <- do= ( '0E0' ) [1 items] at SA.pm line 222 -> do for DBD::SQLite::db (DBI::db=HASH(0x4f993e8)~0x4f99340 'CREATE TABLE cache (md5 TEXT, count INTEGER, last TIMESTAMP, first TIMESTAMP, sasaysspam INT, sahighscoring INT, sascore FLOAT, saheader BLOB, salongreport BLOB, virusinfected INT)') -> DESTROY for DBD::SQLite::st (DBI::st=HASH(0x4f9e3d0)~INNER) DESTROY for DBI::st=HASH(0x4f9e3d0) ignored - handle not initialised ERROR: 1 'table cache already exists' (err#1) <- DESTROY= ( undef ) [1 items] at SQLite.pm line 212 !! ERROR: 1 'table cache already exists' (err#0) <- do= ( undef ) [1 items] at SA.pm line 223 !! The ERROR '1' was CLEARED by call to do method -> do for DBD::SQLite::db (DBI::db=HASH(0x4f993e8)~0x4f99340 'CREATE UNIQUE INDEX md5_uniq ON cache(md5)') -> DESTROY for DBD::SQLite::st (DBI::st=HASH(0x4f9e388)~INNER) DESTROY for DBI::st=HASH(0x4f9e388) ignored - handle not initialised ERROR: 1 'index md5_uniq already exists' (err#1) <- DESTROY= ( undef ) [1 items] at SQLite.pm line 212 !! ERROR: 1 'index md5_uniq already exists' (err#0) <- do= ( undef ) [1 items] at SA.pm line 224 !! The ERROR '1' was CLEARED by call to do method -> do for DBD::SQLite::db (DBI::db=HASH(0x4f993e8)~0x4f99340 'CREATE INDEX last_seen_idx ON cache(last)') -> DESTROY for DBD::SQLite::st (DBI::st=HASH(0x4f9e538)~INNER) DESTROY for DBI::st=HASH(0x4f9e538) ignored - handle not initialised ERROR: 1 'index last_seen_idx already exists' (err#1) <- DESTROY= ( undef ) [1 items] at SQLite.pm line 212 !! ERROR: 1 'index last_seen_idx already exists' (err#0) <- do= ( undef ) [1 items] at SA.pm line 225 !! The ERROR '1' was CLEARED by call to do method -> do for DBD::SQLite::db (DBI::db=HASH(0x4f993e8)~0x4f99340 'CREATE INDEX first_seen_idx ON cache(first)') -> DESTROY for DBD::SQLite::st (DBI::st=HASH(0x4f9e5b0)~INNER) DESTROY for DBI::st=HASH(0x4f9e5b0) ignored - handle not initialised ERROR: 1 'index first_seen_idx already exists' (err#1) <- DESTROY= ( undef ) [1 items] at SQLite.pm line 212 !! ERROR: 1 'index first_seen_idx already exists' (err#0) <- do= ( undef ) [1 items] at SA.pm line 226 !! The ERROR '1' was CLEARED by call to prepare method -> prepare for DBD::SQLite::db (DBI::db=HASH(0x4f993e8)~0x4f99340 ' DELETE FROM cache WHERE ( (sasaysspam=0 AND virusinfected<1 AND first<=(strftime('%s','now')-?)) OR (sasaysspam>0 AND sahighscoring=0 AND virusinfected<1 AND first<=(strftime('%s','now')-?)) OR (sasaysspam>0 AND sahighscoring>0 AND virusinfected<1 AND last<=(strftime('%s','now')-?)) OR (virusinfected>=1 AND last<=(strftime('%s','now')-?)) )') <- prepare= ( DBI::st=HASH(0x4f9e610) ) [1 items] at SA.pm line 805 -> execute for DBD::SQLite::st (DBI::st=HASH(0x4f9e610)~0x4f9e5b0 '1800' '300' '10800' '172800') <- execute= ( 6 ) [1 items] at SA.pm line 813 -> finish for DBD::SQLite::st (DBI::st=HASH(0x4f9e610)~0x4f9e5b0) <- finish= ( 1 ) [1 items] at SA.pm line 814 -> DESTROY for DBD::SQLite::st (DBI::st=HASH(0x4f9e5b0)~INNER) sqlite trace: Finalizing statement: 4fb2c68 at dbdimp.c line 1175 sqlite trace: Removing statement from list: 4fb2c68 at dbdimp.c line 1188 <- DESTROY= ( undef ) [1 items] at SA.pm line 230 -> DBI->connect(dbi:SQLite:/var/spool/MailScanner/incoming/Processing.db, , ****, HASH(0x6298cd8)) -> connect for DBD::SQLite::dr (DBI::dr=HASH(0x4f98ad0)~0x4f98b48 '/var/spool/MailScanner/incoming/Processing.db' '' **** HASH(0x4f9e2b0)) <- connect= ( DBI::db=HASH(0x7c2c500) ) [1 items] at DBI.pm line 690 -> STORE for DBD::SQLite::db (DBI::db=HASH(0x629ce28)~INNER 'PrintError' 0) <- STORE= ( 1 ) [1 items] at DBI.pm line 742 -> STORE for DBD::SQLite::db (DBI::db=HASH(0x629ce28)~INNER 'AutoCommit' 1) <- STORE= ( 1 ) [1 items] at DBI.pm line 742 -> STORE for DBD::SQLite::db (DBI::db=HASH(0x629ce28)~INNER 'InactiveDestroy' 1) <- STORE= ( 1 ) [1 items] at DBI.pm line 745 -> STORE for DBD::SQLite::db (DBI::db=HASH(0x629ce28)~INNER 'Username' '') <- STORE= ( 1 ) [1 items] at DBI.pm line 745 -> connected in DBD::_::db for DBD::SQLite::db (DBI::db=HASH(0x7c2c500)~0x629ce28 'dbi:SQLite:/var/spool/MailScanner/incoming/Processing.db' '' **** HASH(0x6298cd8)) <- connected= ( undef ) [1 items] at DBI.pm line 752 <- connect= DBI::db=HASH(0x7c2c500) -> STORE for DBD::SQLite::db (DBI::db=HASH(0x629ce28)~INNER 'dbi_connect_closure' CODE(0x5d36260)) <- STORE= ( 1 ) [1 items] at DBI.pm line 761 -> do for DBD::SQLite::db (DBI::db=HASH(0x7c2c500)~0x629ce28 'PRAGMA default_synchronous = OFF') -> DESTROY for DBD::SQLite::st (DBI::st=HASH(0x7d147f0)~INNER) sqlite trace: Finalizing statement: 7dbd3a8 at dbdimp.c line 1175 sqlite trace: Removing statement from list: 7dbd3a8 at dbdimp.c line 1188 <- DESTROY= ( undef ) [1 items] at SQLite.pm line 211 <- do= ( '0E0' ) [1 items] at MailScanner line 1777 -> do for DBD::SQLite::db (DBI::db=HASH(0x7c2c500)~0x629ce28 'CREATE TABLE processing (id TEXT, count INT, nexttime INT)') -> DESTROY for DBD::SQLite::st (DBI::st=HASH(0x5bc8010)~INNER) DESTROY for DBI::st=HASH(0x5bc8010) ignored - handle not initialised ERROR: 1 'table processing already exists' (err#1) <- DESTROY= ( undef ) [1 items] at SQLite.pm line 212 !! ERROR: 1 'table processing already exists' (err#0) <- do= ( undef ) [1 items] at MailScanner line 1778 !! The ERROR '1' was CLEARED by call to do method -> do for DBD::SQLite::db (DBI::db=HASH(0x7c2c500)~0x629ce28 'CREATE UNIQUE INDEX id_uniq ON processing(id)') -> DESTROY for DBD::SQLite::st (DBI::st=HASH(0x7d147f0)~INNER) DESTROY for DBI::st=HASH(0x7d147f0) ignored - handle not initialised ERROR: 1 'index id_uniq already exists' (err#1) <- DESTROY= ( undef ) [1 items] at SQLite.pm line 212 !! ERROR: 1 'index id_uniq already exists' (err#0) <- do= ( undef ) [1 items] at MailScanner line 1779 !! The ERROR '1' was CLEARED by call to do method -> do for DBD::SQLite::db (DBI::db=HASH(0x7c2c500)~0x629ce28 'CREATE TABLE archive (id TEXT, count INT, nexttime INT)') -> DESTROY for DBD::SQLite::st (DBI::st=HASH(0x7291668)~INNER) DESTROY for DBI::st=HASH(0x7291668) ignored - handle not initialised ERROR: 1 'table archive already exists' (err#1) <- DESTROY= ( undef ) [1 items] at SQLite.pm line 212 !! ERROR: 1 'table archive already exists' (err#0) <- do= ( undef ) [1 items] at MailScanner line 1780