GNU/Linux >> Belajar Linux >  >> Linux

Kesalahan Tidak dapat membangun modul saat membangun modul Perl eksternal

Apakah Anda mendapatkan kesalahan “Tidak dapat membangun modul ” saat mengkompilasi OpenCA base 1.5.1? Jika ya, maka tutorial ini akan menjelaskan cara memperbaikinya.

Nah, berikut pesan error selengkapnya.

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

Cara memperbaiki kesalahan modul Tidak dapat membangun

Saya mendapatkan kesalahan “Tidak dapat membangun modul” untuk paket Authen::SASL . Tetapi kesalahan ini dapat terjadi untuk semua modul Perl.

Pada awalnya, itu tampak seperti paket Authen::SASL tidak diinstal pada sistem. Jadi saya menginstalnya menggunakan perintah di bawah ini:

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

Secara default pada CentOS 6, perintah di atas menginstal Authen::SASL versi 2.16. Namun, itu tidak menyelesaikan kesalahan. Kemudian saya perhatikan semua modul eksternal yang diperlukan untuk instalasi OpenCA Base terletak di bawah src/ext-modules map. Untuk men-debug masalah, saya harus mengubah direktori ke folder modul masing-masing dan memeriksa file lognya. Misalnya, modul Perl eksternal yang menyebabkan error ini adalah Authen-SASL-2.15. Jadi izinkan saya mengubah direktori ke Authen-SASL-2.15 di bawah src/ext-modules .

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

Menemukan kesalahan di bawah ini dalam file log:

$ vi log.err

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

Apa arti kesalahan itu? Saya menjalankan perl Makefile.PL.

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

Anehnya, perintah di atas tidak menimbulkan kesalahan apa pun. Sekarang saya mencoba make di openca-base-1.5.1 direktori dan melihatnya melewati modul Perl tertentu dan gagal saat mengompilasi modul berikutnya – Convert::ASN1 .

Build::External PERL modules

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

Saya tahu dengan cara yang sama saya dapat beralih ke Convert::ASN1 folder di bawah src/ext-modules dan coba perl Makefile.PL dan kembali ke direktori dasar OpenCA dan jalankan make untuk memperbaiki kesalahan. Tapi bisakah saya melakukannya untuk semua 40 modul eksternal yang perlu dikompilasi selanjutnya? Ah! Ini jelas bukan cara yang tepat untuk menyelesaikan masalah ini.

Setelah melihat kesalahan dengan cermat, saya mengerti bahwa salah satu dari variabel lingkungan PREFIX atau INSTALL_BASE harus disetel dan bukan keduanya. Petunjuk itu membantu saya mengatasi kesalahan.

Cukup daftarkan semua variabel lingkungan yang disetel untuk Perl dan grep PERL_MB_OPT .

# perl -V | grep PERL_MB_OPT

PERL_MB_OPT="--install_base /root/perl5"

Anda dapat melihat bahwa install_base disetel untuk PERL_MB_OPT . Hapus variabel dan Anda dapat mengompilasi OpenCA Base.

#unset PERL_MB_OPT

Sekarang masalah telah diperbaiki secara global untuk setiap modul eksternal di dalam src/ext-modules .


Linux
  1. Cara Menginstal Modul Perl Di Linux

  2. Kesalahan Perl:Modul PERL XML-Parser memerlukan pengembangan expat

  3. Modul PERL DB_File membutuhkan db4-devel [Fix]

  1. Tidak dapat mengkompilasi Python.h – Kesalahan instalasi Websockify

  2. Tidak Dapat Menemukan -lm?

  3. R1Soft :Terjadi kesalahan saat memuat modul hcpdriver

  1. Modul Perl Membutuhkan Modul::Build Tapi Tidak Dipasang

  2. xhost+ :Cara Memperbaiki Kesalahan "Tidak Dapat Membuka Tampilan" Saat Meluncurkan GUI di Server Jarak Jauh

  3. cp:menghilangkan direktori – kesalahan saat menyalin direktori di Linux