GNU/Linux >> Znalost Linux >  >> Linux

Opravit chybu spuštění OpenCA Nelze najít version.pm

Zobrazila se mi chyba „install_driver(Pg) se nezdařil:Nelze najít verzi.pm ” při spouštění démona OpenCA 1.5.1 na CentOS. Tento tutoriál vysvětlí, jak opravit chybu spuštění OpenCA Can't locate version.pm. Než budu mluvit o řešení, podívejte se na kompletní chybovou zprávu.

Spouštění démona OpenCA:

# ./etc/init.d/openca start

Ačkoli výše uvedený příkaz nevyvolal žádnou zprávu, našel jsem podrobnou chybu v var/openca/log/stderr.log . Níže je jeho snímek.

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.

Chybová zpráva znamená, že nemohl najít version.pm soubor a možná modul, který DBD::Pg nebyl plně nainstalován. Pojďme nainstalovat DBD::Pg .

Nainstalujte DBD::Pg pomocí cpan

cpan[1]> install DBD::Pg

Nicméně cpan instalace DBD::Pg se nezdařila a skončil s níže uvedenou chybovou zprávou.

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

Takže jsem musel nainstalovat DBI::DBD modulu před instalací DBD::Pg . Pokračujme a nainstalujme DBI::DBD

Nainstalujte 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

Ano, nyní jsem nainstaloval DBI::DBD modulu, zkusme to znovu DBD::Pg instalace přes cpan .

cpan> install DBD::Pg

Ach! další chyba:

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

Nyní je chyba „závažná chyba:libpq-fe.h:Žádný takový soubor nebo adresář “. To znamená, že jsem musel nainstalovat balíček nebo knihovnu, která dodává libpq-fe.h soubor. Po googlování rozumím ‘libpg-dev ‘ je knihovna, ale to je pro stroje Ubuntu a Debian. Odpovídající balíček pro CentOS je tedy ‘postgresql-devel ‘.

Nainstalujte postgresql-devel pomocí YUM

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

Complete!

OK. Doufejme, že cpan nyní by měl nainstalovat DBD::Pg bez problému. Pojďme se na to podívat.

Opětovná instalace DBD::Pg pomocí 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

Co! cpan říká, že instalace se zdá být nemožná? Ne, nainstalujme to ručně. Abych to udělal, musel jsem přejít na .cpan adresář umístěný pod domovem uživatele a vyhledejte DBD-PG stažené pomocí cpan.

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

Pojďme vytvořit Makefile teď.

# 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

Chladný. A co udělat?

#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

Zase super, co nainstalovat?

# 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

Ano. Nyní jsem úspěšně nainstaloval „DBD::Pg “modul. Nyní jsem spustil OpenCA démona a fungovalo to bez problémů.

Doufám, že to někomu pomůže.


Linux
  1. Opravit chybu ZipArchiv třídy nenalezen [PHP 7]

  2. Jak opravit chybu Cron Authentication Failure v Linuxu?

  3. Chyba v souboru Sudoers? Zde je návod, jak to můžete opravit.

  1. Nelze najít Module/Load/Conditional.pm [Řešení]

  2. Nelze najít Test/Harness.pm perl Chyba:[Řešení]

  3. Nelze najít Calendar/Simple.pm [RT vyřešeno]

  1. Ověření podpisu na veřejném klíči SPKAC se nezdařilo – Oprava chyby OpenCA

  2. Gimp se nespustí, chyba Gegl?

  3. Jak opravit chybu editoru Vi / Vim — E319:Omlouváme se, ale příkaz není v této verzi dostupný