GNU/Linux >> Tutoriales Linux >  >> Linux

Error No se puede compilar el módulo mientras se compilan módulos Perl externos

¿Recibe un error "No se puede construir el módulo ” mientras compila OpenCA base 1.5.1? En caso afirmativo, este tutorial explicará cómo solucionarlo.

Bueno, aquí está el mensaje de error completo.

Build::External PERL modules

Building (openca::ac) ... ERROR::Cannot build module
make[6]: *** [openca-ac] Error 1

Build::External PERL modules

Building (Authen::SASL::215) ... ERROR::Cannot build module

Cómo solucionar el error No se puede construir el módulo

Recibí el error "No se puede crear el módulo" para el paquete Authen::SASL . Pero este error puede ocurrir para cualquier módulo de Perl.

Al principio, parecía el paquete Authen::SASL no estaba instalado en el sistema. Así que instalé uno usando el siguiente comando:

# perl -MCPAN -e 'install Authen::SASL'

De forma predeterminada en CentOS 6, el comando anterior instaló Authen::SASL versión 2.16. Sin embargo, no resolvió el error. Más tarde noté que todos los módulos externos que se requieren para la instalación de OpenCA Base estaban ubicados en src/ext-modules carpeta. Para depurar el problema, tuve que cambiar el directorio a las carpetas del módulo respectivo y verificar su archivo de registro. Por ejemplo, el módulo Perl externo que provoca este error es Authen-SASL-2.15. Permítanme cambiar el directorio a Authen-SASL-2.15 en src/ext-modules .

$ cd src/ext-modules/Authen-SASL-2.15

Encontré el siguiente error en el archivo de registro:

$ vi log.err

Only one of PREFIX or INSTALL_BASE can be given. Not both.

¿Qué significa ese error? Ejecuté perl Makefile.PL.

[src/ext-modules/Authen-SASL-2.15]$ perl Makefile.PL

Sorprendentemente, el comando anterior no arrojó ningún error. Ahora probé make en el openca-base-1.5.1 directorio y vi que pasó ese módulo Perl en particular y falló al compilar el siguiente módulo: Convert::ASN1 .

Build::External PERL modules

Building (Authen::SASL::215) ... Ok
Building (Convert::ASN1::022) ... ERROR::Can not build module

Sé que de la misma manera puedo cambiar a Convert::ASN1 carpeta bajo src/ext-modules y prueba perl Makefile.PL y regrese al directorio base de OpenCA y ejecute make para corregir el error. Pero, ¿puedo hacer eso para los 40 módulos externos que deben compilarse a continuación? ¡Ah! Esta definitivamente no es la forma correcta de resolver este problema.

Después de observar el error detenidamente, entiendo que se debe establecer una de las variables de entorno PREFIX o INSTALL_BASE y no ambas. Esa pista me ayudó a resolver el error.

Simplemente enumere todas las variables de entorno configuradas para Perl y grep PERL_MB_OPT .

# perl -V | grep PERL_MB_OPT

PERL_MB_OPT="--install_base /root/perl5"

Puedes ver que install_base está configurado para PERL_MB_OPT . Desactive la variable y estará listo para compilar OpenCA Base.

#unset PERL_MB_OPT

Ahora el problema se soluciona globalmente para cada módulo externo dentro de src/ext-modules .


Linux
  1. Comete un error al instalar LiME en CentOS – lib/modules/kernel_version/build:No such file or directory [Resuelto]

  2. No se puede compilar Python.h – Error de instalación de Websockify

  3. ¿No se puede encontrar -lm?

  4. R1Soft:Ocurrió un error al cargar el módulo hcpdriver

  5. Los módulos de Perl necesitan módulo::construir pero no está instalado

Módulos Perl

No se pudo instalar el módulo PNGgraph de cPanel Perl Error

cp:directorio omitido – error al copiar un directorio en Linux

ERROR:ld.so:el objeto LD_PRELOAD no se puede precargar:ignorado

Error de compilación usando cmake:no se puede encontrar -lpthreads

Omitir el módulo del kernel en el arranque