GNU/Linux >> Linux Esercitazione >  >> Linux

Correzione dell'errore di avvio di OpenCA Impossibile individuare version.pm

Bene, ho ricevuto un errore "install_driver(Pg) non riuscito:impossibile individuare version.pm " durante l'avvio del demone OpenCA 1.5.1 su CentOS. Questo tutorial spiegherà come correggere l'errore di avvio di OpenCA Impossibile individuare version.pm. Prima di parlare della soluzione, dai un'occhiata al messaggio di errore completo.

Avvio del demone OpenCA:

# ./etc/init.d/openca start

Sebbene il comando precedente non abbia generato alcun messaggio, sono riuscito a trovare un errore dettagliato in var/openca/log/stderr.log . Di seguito è riportato l'istantanea di esso.

install_driver(Pg) failed: Can't locate version.pm in @INC (@INC contains: /home/openca/lib/openca/perl_modules/perl5/x86_64-linux-thread-multi /home/openca/lib/openca/perl_modules/perl5 /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/openca/lib/openca/perl_modules/perl5/x86_64-linux-thread-multi/DBD/Pg.pm line 19.
BEGIN failed--compilation aborted at /home/openca/lib/openca/perl_modules/perl5/x86_64-linux-thread-multi/DBD/Pg.pm line 19.
Compilation failed in require at (eval 288) line 3.
Perhaps a module that DBD::Pg requires hasn't been fully installed
 at /home/openca/lib/openca/perl_modules/perl5/OpenCA/DBI.pm line 914.
Compilation failed in require at /home/openca/etc/openca/openca_start line 66.

Il messaggio di errore indica che non è stato possibile individuare version.pm file e forse un modulo che DBD::Pg non è stato installato completamente. Installiamo DBD::Pg .

Installa DBD::Pg utilizzando cpan

cpan[1]> install DBD::Pg

Tuttavia, cpan installazione di DBD::Pg non riuscita ed è uscito con il seguente messaggio di errore.

Could not load DBI::DBD - is the DBI module installed?
No 'Makefile' created'YAML' not installed, will not store persistent state
 TURNSTEP/DBD-Pg-3.7.4.tar.gz
 /usr/bin/perl Makefile.PL -- NOT OK
Running make test
 Make had some problems, won't test
Running make install
 Make had some problems, won't install
Could not read metadata file. Falling back to other methods to determine prerequisites
Failed during this command:
 TURNSTEP/DBD-Pg-3.7.4.tar.gz : writemakefile NO -- No 'Makefile' created

Quindi ho installato DBI::DBD modulo prima di installare DBD::Pg . Andiamo avanti e installiamo DBI::DBD

Installa DBI::DBD

cpan> install DBI::DBD

Appending installation info to /usr/lib64/perl5/perllocal.pod
 TIMB/DBI-1.640.tar.gz
 /usr/bin/make install -- OK

Sì, ora ho installato DBI::DBD modulo, riproviamo DBD::Pg installazione tramite cpan .

cpan> install DBD::Pg

Ah! un altro errore:

cp lib/Bundle/DBD/Pg.pm blib/lib/Bundle/DBD/Pg.pm
cp Pg.pm blib/lib/DBD/Pg.pm
/usr/bin/perl -p -e "s/~DRIVER~/Pg/g; s/^do\(/dontdo\(/" /usr/local/lib64/perl5/auto/DBI/Driver.xst > Pg.xsi
/usr/bin/perl /usr/share/perl5/vendor_perl/ExtUtils/xsubpp -typemap /usr/share/perl5/ExtUtils/typemap Pg.xs > Pg.xsc && mv Pg.xsc Pg.c
gcc -c -I/usr/include -I/usr/local/lib64/perl5/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPGLIBVERSION=90223 -DPGDEFPORT=5432 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc -DVERSION=\"undef\" -DXS_VERSION=\"undef\" -fPIC "-I/usr/lib64/perl5/CORE" Pg.c
In file included from Pg.xs:14:0:
Pg.h:36:22: fatal error: libpq-fe.h: No such file or directory
 #include "libpq-fe.h"
 ^
compilation terminated.
make: *** [Pg.o] Error 1
 TURNSTEP/DBD-Pg-3.7.4.tar.gz
 /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
Failed during this command:
 TURNSTEP/DBD-Pg-3.7.4.tar.gz : make NO

Ora l'errore è "errore irreversibile:libpq-fe.h:nessun file o directory di questo tipo “. Significa che dovevo installare un pacchetto o una libreria che spedisce libpq-fe.h file. Dopo aver cercato su Google, ho capito "libpg-dev ' è la libreria, ma è per macchine Ubuntu e Debian. Quindi il pacchetto corrispondente per CentOS è "postgresql-devel '.

Installa postgresql-devel utilizzando YUM

# yum install postgresql-devel
:::::::::::::::::
Installed:
 postgresql-devel.x86_64 0:9.2.23-3.el7_4

Complete!

Ok. Si spera, cpan ora dovrebbe installare DBD::Pg senza alcun problema. Diamo un'occhiata.

Installazione di DBD::Pg di nuovo utilizzando cpan

cpan[3]> install DBD::Pg
Running install for module 'DBD::Pg'
Running make for T/TU/TURNSTEP/DBD-Pg-3.7.4.tar.gz
 Has already been unwrapped into directory /root/.cpan/build/DBD-Pg-3.7.4-JtTHAe
Could not make: Unknown error
Running make test
 Can't test without successful make
Running make install
 Make had returned bad status, install seems impossible

Che cosa! cpan dice che l'installazione sembra impossibile? No, installiamolo manualmente. Per farlo, dovevo andare su .cpan directory situata sotto la home dell'utente e individuare DBD-PG scaricato da cpan.

# cd /root/.cpan/build/DBD-Pg-3.7.4-ScxNAT

Creiamo Makefile ora.

# perl Makefile.PL
Configuring DBD::Pg 3.7.4
PostgreSQL version: 90223 (default port: 5432)
POSTGRES_HOME: (not set)
POSTGRES_INCLUDE: /usr/include
POSTGRES_LIB: /usr/lib64
OS: linux
Checking if your kit is complete...
Looks good
Using DBI 1.64 (for perl 5.016003 on x86_64-linux-thread-multi) installed in /usr/local/lib64/perl5/auto/DBI/
Writing Makefile for DBD::Pg

Freddo. E la marca?

#make
chmod 755 blib/arch/auto/DBD/Pg/Pg.so
cp Pg.bs blib/arch/auto/DBD/Pg/Pg.bs
chmod 644 blib/arch/auto/DBD/Pg/Pg.bs
Manifying blib/man3/Bundle::DBD::Pg.3pm
Manifying blib/man3/DBD::Pg.3pm

Fresco di nuovo, e per quanto riguarda l'installazione?

# make install
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/lib64/perl5/auto/DBD/Pg/Pg.so
Installing /usr/local/lib64/perl5/auto/DBD/Pg/Pg.bs
Installing /usr/local/lib64/perl5/DBD/Pg.pm
Installing /usr/local/lib64/perl5/Bundle/DBD/Pg.pm
Installing /usr/local/share/man/man3/Bundle::DBD::Pg.3pm
Installing /usr/local/share/man/man3/DBD::Pg.3pm
Appending installation info to /usr/lib64/perl5/perllocal.pod

Sì. Ora ho installato con successo “DBD::Pg modulo ". Ora ho avviato il demone OpenCA e ha funzionato senza problemi.

Spero che aiuti qualcuno là fuori.


Linux
  1. Come correggere l'errore di errore di autenticazione Cron in Linux?

  2. Errore nel file Sudoers? Ecco come puoi risolverlo.

  3. Verifica della firma non riuscita sulla chiave pubblica SPKAC – Correzione dell'errore OpenCA

  4. Gimp non si avvia, errore Gegl?

  5. Come correggere l'errore dell'editor Vi / Vim — E319:Spiacenti, il comando non è disponibile in questa versione

Come correggere l'errore di conversione con Calibre

Correzione dell'errore "Impossibile scrivere nella cartella dell'applicazione" nel client BitTorrent di Vuze

Risolto l'errore, impossibile trovare il comando hwmatch su Grub

Errore limite di larghezza di banda superato:come posso risolverlo?

Errore durante l'utilizzo di una versione più recente di glibc

Impossibile avviare il servizio di rete CentOS 7