Missing version.pm installing Crypt::SSLeay on RHEL7 - linux

I am trying to install Crypt::SSLeay that is required to launch PulledPork from Snort. I am working on a fresh Red Hat Linux Enterprise 7 Server (in VM) with Perl 5.16-3.
I am installing every Perl module from search.cpan.org and I need to get source code to compile myself.
At first, I wanted to install Crypt::SSLeay with
perl Makefile.PL
make
sudo make install
Then I got a bunch of dependencies to install first.
ExtUtils::CBuilder
ExtUtils::MakerMaker
Perl::OSType
IPC::Cmd
Params::Check
Locale::Maketext::Simple
Module::Load::Conditional
Module::Load
Test::More
ExtUtils::MM_Unix::tool_xsubpp
But now I am stuck with this.
Can't locate version.pm in #INC (#INC contains: /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
/usr/local/share/perl5/Module/Load/Conditional.pm line 12. BEGIN
failed--compilation aborted at
/usr/local/share/perl5/Module/Load/Conditional.pm line 12. Compilation
failed in require at /usr/local/share/perl5/IPC/Cmd.pm line 60. BEGIN
failed--compilation aborted at /usr/local/share/perl5/IPC/Cmd.pm line
60. Compilation failed in require at /usr/local/share/perl5/ExtUtils/CBuilder/Base.pm line 10. BEGIN
failed--compilation aborted at
/usr/local/share/perl5/ExtUtils/CBuilder/Base.pm line 10. Compilation
failed in require at
/usr/local/share/perl5/ExtUtils/CBuilder/Platform/Unix.pm line 5.
BEGIN failed--compilation aborted at
/usr/local/share/perl5/ExtUtils/CBuilder/Platform/Unix.pm line 5.
Compilation failed in require at (eval 1) line 2. BEGIN
failed--compilation aborted at (eval 1) line 2. Compilation failed in
require at Makefile.PL line 5. BEGIN failed--compilation aborted at
Makefile.PL line 5.
I install version (http://search.cpan.org/~jpeacock/version-0.9917/lib/version.pod) but it told me :
ERROR from evaluation of
/home/pdavid/Downloads/version-0.9917/vutil/Makefile.PL:
ExtUtils::MM_Unix::tool_xsubpp : Can't find xsubpp at
/usr/local/share/perl5/ExtUtils/MM_Unix.pm line 3753.

Red Hat Enterprise Linux (and Fedora) ship a subset of Perl in the perl package; this is why you're missing version.pm although the software assumes it's there; that's why Sinan mentions it is in corelist.
The solution is to first install the perl-core package on your system, then your system will have all packages from core installed, and then you can install your software:
sudo yum install perl-core
By the way, you can also install Crypt::SSLeay via yum:
sudo yum install "perl(Crypt::SSLeay)"

Related

Math:CDF perl library - Installation issue

I would like to use a Toolbox, which relies on Perl library Math::CDF:
https://metacpan.org/source/CALLAHAN/Math-CDF-0.1/README
I don't have root permission on the cluster, so I installed Math-CDF-0.1 locally. It seemed that installation was successful, and I could run some analysis using this module yesterday. Today, when I re-open Terminal, the Toolbox has issues when calling the module. I am new to Perl and cannot figure out where the problem is and how what I am doing today is different from yesterday.
To install Math:CDF:
perl Makefile.PL INSTALL_BASE=path/Math-CDF-0.1
make
make install
As a result, I got:
make[1]: Entering directory `path/Math-CDF-0.1/cdflib'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `path/Math-CDF-0.1/cdflib'
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing path/Math-CDF-0.1/lib/perl5/x86_64-linux-thread-multi/auto/Math/CDF/CDF.bs
Installing path/Math-CDF-0.1/lib/perl5/x86_64-linux-thread-multi/auto/Math/CDF/CDF.so
Installing path/Math-CDF-0.1/lib/perl5/x86_64-linux-thread-multi/auto/Math/CDF/autosplit.ix
Installing /path/Math-CDF-0.1/lib/perl5/x86_64-linux-thread-multi/Math/CDF.pm
Installing path/Math-CDF-0.1/man/man3/Math::CDF.3pm
Appending installation info to path/Math-CDF-0.1/lib/perl5/x86_64-linux-thread-multi/perllocal.pod
I added paths to #INC (path/ctk and path/czplib are where the Toolbox scripts are):
#INC:
path/ctk
path/Math-CDF-0.1
path/czplib
/usr/local/lib64/perl5
/usr/local/share/perl5
/usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl
/usr/lib64/perl5
/usr/share/perl5
Now, when I run the actual script, I get the following error:
perl path/ctk/fastq_filter.pl -v -f mean:0-24:20 -of fasta BrainA_130_50_fastq.txt BrainA_new.fa
Can't locate Math/CDF.pm in #INC (#INC contains: path/ctk path/Math-CDF-0.1 path/czplib /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 path/czplib/Common.pm line 924.
BEGIN failed--compilation aborted at path/czplib/Common.pm line 924.
Compilation failed in require at /path/ctk/fastq_filter.pl line 10.
BEGIN failed--compilation aborted at path/ctk/fastq_filter.pl line 10.
CDF.pm is in path/Math-CDF-0.1 which is in #INC.
Could you please help me to understand what is wrong?
EDITS:
Testing perl -mMath::CDF -e 1 does show that there is an issue (thank you toolic!)
Can't locate loadable object for module Math::CDF in #INC (#INC contains: path/ctk pathMath-CDF-0.1 path/czplib /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 -e line 0 Compilation failed in require. BEGIN failed--compilation aborted.

Can't locate ExtUtils/MakeMaker.pm in #INC

i've centos6.4 as server and centos7.5 as client. I am trying to connect perl client with oracle server. I downloaded DBD-Oracle-1.74.tar.gz
and trying to install like this:-
Create file oci.conf at /etc/ld.so.conf.d/ as root with the location of Oracle LD_LIBRARY_PATH
as
ORACLE_HOME=/opt/oracle/instantclient_11_2:
PATH=$PATH:$ORACLE_HOME
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/oracle/instantclient_11_2
then
# ldconfig -v
this includes :-
ldconfig: Can't stat /libx32: No such file or directory
ldconfig: Path `/usr/lib' given more than once
ldconfig: Path `/usr/lib64' given more than once
ldconfig: Can't stat /usr/libx32: No such file or directory
# perl Makefile.PL -V 11.2.0
this shows error :-
Can't locate ExtUtils/MakeMaker.pm in #INC (#INC contains: /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 Makefile.PL line 10.
BEGIN failed--compilation aborted at Makefile.PL line 10.
And there is no MakMaker in ExtUtils:
# perl -V:privlibexp
privlibexp='/usr/share/perl5'

How to convert perl modules into deb packages?

My team is delivering a product that requires some perl modules, and since we deliver a full OS installer (Ubuntu 12.04) we want those modules as .deb packages. I've been able to build some other perl (like Algorithm::LUHN, Env::C, Linux::PID and Config::Properties) by following the instructions here, but having problems with Apache2::SizeLimit
Tried with Apache-SizeLimit-0.96 and Apache-SizeLimit-0.97... and all the methods described in the doc. Also tried in different OSs versions; Ubuntu 14.04.2, Ubuntu 12.04.5 (clean install), all the attempts ended with the same error:
test#test:~$ dh-make-perl --build --cpan Apache::SizeLimit
Going to read '/home/test/.cpan/Metadata'
Database was generated on Thu, 19 Mar 2015 02:17:02 GMT
CPAN: Digest::SHA loaded ok (v5.61)
Checksum for /home/test/.cpan/sources/authors/id/P/PH/PHRED/Apache-SizeLimit-0.97.tar.gz ok
Apache-SizeLimit-0.97/
Apache-SizeLimit-0.97/Changes
Apache-SizeLimit-0.97/INSTALL
Apache-SizeLimit-0.97/lib/
Apache-SizeLimit-0.97/LICENSE
Apache-SizeLimit-0.97/Makefile.PL
Apache-SizeLimit-0.97/MANIFEST
Apache-SizeLimit-0.97/MANIFEST.SKIP
Apache-SizeLimit-0.97/META.json
Apache-SizeLimit-0.97/META.yml
Apache-SizeLimit-0.97/README
Apache-SizeLimit-0.97/t/
Apache-SizeLimit-0.97/t/apache/
Apache-SizeLimit-0.97/t/apache2/
Apache-SizeLimit-0.97/t/pod.t
Apache-SizeLimit-0.97/t/response/
Apache-SizeLimit-0.97/t/response/TestApache/
Apache-SizeLimit-0.97/t/response/TestApache2/
Apache-SizeLimit-0.97/t/response/TestApache2/basic.pm
Apache-SizeLimit-0.97/t/response/TestApache2/check_n_requests2.pm
Apache-SizeLimit-0.97/t/response/TestApache2/deprecated.pm
Apache-SizeLimit-0.97/t/response/TestApache2/zzz_check_n_requests.pm
Apache-SizeLimit-0.97/t/response/TestApache/basic.pm
Apache-SizeLimit-0.97/t/response/TestApache/check_n_requests2.pm
Apache-SizeLimit-0.97/t/response/TestApache/deprecated.pm
Apache-SizeLimit-0.97/t/response/TestApache/zzz_check_n_requests.pm
Apache-SizeLimit-0.97/t/apache2/all.t
Apache-SizeLimit-0.97/t/apache/all.t
Apache-SizeLimit-0.97/lib/Apache/
Apache-SizeLimit-0.97/lib/Apache2/
Apache-SizeLimit-0.97/lib/Apache2/SizeLimit.pm
Apache-SizeLimit-0.97/lib/Apache/SizeLimit/
Apache-SizeLimit-0.97/lib/Apache/SizeLimit.pm
Apache-SizeLimit-0.97/lib/Apache/SizeLimit/Core.pm
CPAN: File::Temp loaded ok (v0.22)
======================================================================
Unpacked tarball already existed, directory renamed to /home/test/Apache-SizeLimit-0.97.13910
======================================================================
Using META.json
Found: Apache2-SizeLimit 0.97 (libapache2-sizelimit-perl arch=all)
cat: /etc/mailname: No such file or directory
No APT contents can be loaded.
Please install 'apt-file' package (at least version 2.5.0) and
run 'apt-file update' as root.
Dependencies not updated.
Using maintainer: test
Found docs: README
cat: /etc/mailname: No such file or directory
Using rules: /usr/share/dh-make-perl/rules.dh7.tiny
cat: /etc/mailname: No such file or directory
make: Entering directory `/home/test/Apache-SizeLimit-0.97'
dh clean
dh_testdir
dh_auto_clean
dh_clean
make: Leaving directory `/home/test/Apache-SizeLimit-0.97'
make: Entering directory `/home/test/Apache-SizeLimit-0.97'
dh build
dh_testdir
dh_auto_configure
Can't find mod_perl installed
The error was: Can't locate mod_perl2.pm in #INC (#INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at Makefile.PL line 147.
dh_auto_configure: perl Makefile.PL INSTALLDIRS=vendor returned exit code 2
make: *** [build] Error 2
make: Leaving directory `/home/test/Apache-SizeLimit-0.97'
Cannot create deb package: 'debian/rules build' failed.
Will appreciate any help on fixing it
Sharing how it was solved. As #grant-mclean answered; I was missing a -dev package: the "apache2-dev" (apache2-threaded-dev).
With it, and skipping tests I was able to build the .deb package.
sudo apt-get install devscripts dh-make-perl libapache2-mod-perl2 libapache2-mod-perl2-dev apache2-threaded-dev
export DEB_BUILD_OPTIONS="$DEB_BUILD_OPTIONS nocheck"
dh-make-perl --build --cpan Apache::SizeLimit
Usually when you're trying to build something on Debian and get a message about something being missing, you need to install a 'dev' package - one that contains things like header files that aren't needed by the runtime.
I'm just guessing, but in your case perhaps you need to install: libapache2-mod-perl2-dev

Perl cannot locate module in #INC

I am running Centos 6.4 and perl 5.10. I have short script which uses the DateTime module. However when I run my script I get the following error message telling me various modules cannot be located as they are not in the library path.
Can't locate Params/Validate.pm in #INC (#INC contains: /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 /usr/lib64/perl5/DateTime/Duration.pm line 11.
BEGIN failed--compilation aborted at /usr/lib64/perl5/DateTime/Duration.pm line 11.
Compilation failed in require at /usr/lib64/perl5/DateTime.pm line 45.
BEGIN failed--compilation aborted at /usr/lib64/perl5/DateTime.pm line 45.
Compilation failed in require at ./jr_fix_western_filestore.perl line 39.
BEGIN failed--compilation aborted at ./jr_fix_western_filestore.perl line 39.
All of these packages have been installed via yum. eg yum install perl-Params-Validate.x86_64 and yum install perl-DateTime.x86_64. Should the yum install not place these modules in #INC?
I have also tried to install the packages via cpan but this seems to want to download lots of dependencies first and inevitably fails.
CPAN.pm: Going to build D/DR/DROLSKY/DateTime-1.03.tar.gz
Can't locate Module/Build.pm in #INC (#INC contains: /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 Build.PL line 5.
BEGIN failed--compilation aborted at Build.PL line 5.
Warning: No success on command[/usr/bin/perl Build.PL --installdirs site]
Warning (usually harmless): 'YAML' not installed, will not store persistent state
DROLSKY/DateTime-1.03.tar.gz
/usr/bin/perl Build.PL --installdirs site -- NOT OK
Running Build test
Make had some problems, won't test
Running Build install
Make had some problems, won't install
Could not read '/root/.cpan/build/DateTime-1.03-Brpqo5/META.yml'. Falling back to other methods to determine prerequisites
Warning: CPAN.pm discovered Module::Build as undeclared prerequisite.
Adding it now as such.
When I try to install Module::Build in cpan, I get the following error
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible
Failed during this command:
OVID/Test-Harness-3.28.tar.gz : make_test NO
MSCHWERN/Test-Simple-0.98.tar.gz : make_test NO
JPEACOCK/version-0.9902.tar.gz : make_test NO
BOBTFISH/Module-Metadata-1.000014.tar.gz : make_test NO
DAGOLDEN/CPAN-Meta-YAML-0.008.tar.gz : make_test NO
MAKAMAKA/JSON-PP-2.27202.tar.gz : make_test NO
DAGOLDEN/Parse-CPAN-Meta-1.4404.tar.gz : make_test NO
DAGOLDEN/CPAN-Meta-Requirements-2.122.tar.gz : make_test NO
DAGOLDEN/CPAN-Meta-2.130880.tar.gz : make_test NO
DAGOLDEN/Perl-OSType-1.003.tar.gz : make_test NO
JESSE/Locale-Maketext-Simple-0.21.tar.gz : make_test NO
BINGOS/Params-Check-0.36.tar.gz : make_test NO
BINGOS/Module-Load-0.24.tar.gz : make_test NO
BINGOS/Module-CoreList-2.91.tar.gz : make_test NO
BINGOS/Module-Load-Conditional-0.54.tar.gz : make_test NO
BINGOS/IPC-Cmd-0.80.tar.gz : make_test NO
DAGOLDEN/ExtUtils-CBuilder-0.280205.tar.gz : make_test NO
LEONT/Module-Build-0.4005.tar.gz : make NO
Any pointers?
rpm -ql perl-Params-Validate returns
/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Attribute
/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Attribute/Params
/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Attribute/Params/Validate.pm
/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Params
/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Params/Validate.pm
/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Params/ValidatePP.pm
/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/Params/ValidateXS.pm
/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/auto/Params
/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/auto/Params/Validate
/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/auto/Params/Validate/Validate.bs
/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/auto/Params/Validate/Validate.so
/usr/share/doc/perl-Params-Validate-0.95
/usr/share/doc/perl-Params-Validate-0.95/Changes
/usr/share/doc/perl-Params-Validate-0.95/LICENSE
/usr/share/doc/perl-Params-Validate-0.95/MANIFEST
/usr/share/doc/perl-Params-Validate-0.95/META.yml
/usr/share/doc/perl-Params-Validate-0.95/README
/usr/share/doc/perl-Params-Validate-0.95/TODO
/usr/share/man/man3/Attribute::Params::Validate.3pm.gz
/usr/share/man/man3/Params::Validate.3pm.gz
/usr/share/man/man3/Params::ValidatePP.3pm.gz
/usr/share/man/man3/Params::ValidateXS.3pm.gz
I'm not sure if these paths are searched by #INC
However locate Validate.pm returns nothing
search and install
yum install perl-CGI
this worked for me.,
Seems that you have RPMforge configured for RHEL / Centos 4 but you use Centos 6:
Installing: perl-Params-Validate x86_64 0.95-1.el4.rf
Follow the instructions from this site and do global dist upgrade to fix broken dependencies (I you're lucky reinstall won't be needed). Then install perl packages you want.
I'm late to the discussion, but had the same problem. Here is how I solved it.
CPAN was giving me the same error because an older version of was installed under yum. I updated the package via yum and was able to move forward.

Install Trans-Proteomic Pipeline (TPP) 4.6.1 on Linux Redhat

I have some problem installing TPP software on my Linux environment (Redhat). The error message is showed as below:
perl -c -I ../../build/RedHat-x86_64 ../../build/RedHat-x86_64/tpp_gui.pl
Can't locate IO/Compress/Zip.pm in #INC (#INC contains: ../../build/RedHat-x86_64 /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at ../../build/RedHat-x86_64/tpp_gui.pl line 16.
BEGIN failed--compilation aborted at ../../build/RedHat-x86_64/tpp_gui.pl line 16.
make[1]: *** [../../build/RedHat-x86_64/tpp_gui.pl] Error 2
make[1]: *** Deleting file `../../build/RedHat-x86_64/tpp_gui.pl'
make[1]: Leaving directory `/root/TPP-4.6.1/trans_proteomic_pipeline/src/perl_paths'
make: *** [perl_paths] Error 2
Can somebody help me out with this problem? I have an urge to install and run TPP now.
Thanks in advance!
From the error message you are missing the Perl module IO::Compress::Zip in your system, you should firstly install that Perl module and then have another try
You can use the docker machine we recently create here: https://github.com/BioDocker/TPP-4.8.0 , we are maintaining those containers then feel free to contact the team.
Regards

Resources