MEAD (Perl Package) Installation - perl

I am trying to install MEAD http://www.summarization.com/mead/ for text summarization, but when I try to run a basic example from the bin folder
./mead.pl GA3
I get the error below:
Cannot locate loadable object for module XML::Parser::Expat in #INC (#INC contains: mead/bin/../lib mead/bin/../lib/arch /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 mead/bin/../lib/XML/Parser.pm line 15
Compilation failed in require at mead/bin/../lib/XML/Parser.pm line 15.
BEGIN failed--compilation aborted at mead/bin/../lib/XML/Parser.pm line 19.
Compilation failed in require at /mead/bin/../lib/MEAD/Cluster.pm line 16.
BEGIN failed--compilation aborted at mead/bin/../lib/MEAD/Cluster.pm line 16.
Compilation failed in require at ./mead.pl line 29.
BEGIN failed--compilation aborted at ./mead.pl line 29.
Strange enough, I already have expat installed. I am wondering, what could be the cause of this error?

I highly recommend you reading mead documentation before starting. In page 7 of this document, it is pointed out the required perl libraries for mead. You can find required perl library under path/mead/external. Install all libraries under the external directory, it will run without any problems.
Required Libraries:
Perl 5.5 or above
XML::Parser
Expat
XML::Writer
XML::TreeBuilder
Text::Iconv
etc.

Related

we are unable to access the CGI perl application after Linux OS upgrade from RHEL6 to RHEL7

we are unable to access the CGI perl application after Linux OS upgrade from RHEL6 to RHEL7.
Can't locate Carp.pm in #INC (#INC contains: /local/silas/lib2 /local/silas/lib/site_perl /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/share/perl5/CGI.pm line 3.
BEGIN failed--compilation aborted at /usr/share/perl5/CGI.pm line 3.
Compilation failed in require at /ford/eccws6/apache/htdocs/index.cgi line 9.
BEGIN failed--compilation aborted at /ford/eccws6/apache/htdocs/index.cgi line 9.
Please tell me what is exactly caused for this issue and do need to make any changes in setup?
Like #Shawn said in a comment, RedHat splits off core Perl modules into separate packages that don't get installed when you install perl or perl-core.
I believe you need the perl-Carp package:
yum install perl-Carp

Which modules are missed?

On my system:
$ uname -ra
Linux web.feel-safe.net 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux
I get next errors while installing modules:
Can't locate inc/ExtUtils/MY_Metafile.pm in #INC (you may need to install the inc::ExtUtils::MY_Metafile module) (#INC contains: /home/feelsafe/web/local/lib/perl5/x86_64-linux-gnu-thread-multi /home/feelsafe/web/local/lib/perl5 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at Makefile.PL line 4.
BEGIN failed--compilation aborted at Makefile.PL line 4.
.
Configuring List-MoreUtils-0.416
Running Makefile.PL
Can't locate inc/latest.pm in #INC (you may need to install the inc::latest module) (#INC contains: /home/feelsafe/web/local/lib/perl5/x86_64-linux-gnu-thread-multi /home/feelsafe/web
/local/lib/perl5 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/per
l/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at Makefile.PL line 51.
BEGIN failed--compilation aborted at Makefile.PL line 51.
.
Configuring MRO-Compat-0.12
Running Makefile.PL
Can't locate inc/Module/Install.pm in #INC (you may need to install the inc::Module::Install module) (#INC contains: /home/feelsafe/web/local/lib/perl5/x86_64-linux-gnu-thread-multi /home/feelsafe/web/local/lib/perl5 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at Makefile.PL line 1.
BEGIN failed--compilation aborted at Makefile.PL line 1.
-> N/A
-> FAIL Configure failed for MRO-Compat-0.12. See /home/feelsafe/.cpanm/work/1524673518.17946/build.log for details.
Currently I have found this article, but still do not understand the problem.
What did I miss on my system? And what is the problem?
Because I use Carton to deploy my application:
carton install --deployment
I have List-MoreUtils-0.416 in my cpanfile.snapshot. Thus I use old module version which relies on "." exists at #INC.
But on target host, where I was faced into Can't locate inc/latest.pm in #INC problem there is DEBIAN perl-5.24.1 which apply patch from perl-5.26 which removes '.' from #INC
Because of this inc::latest is not found in bundled directory
To resolve my issue I just add next line into cpanfile:
requires 'List::MoreUtils', '>=0.428'
Unfortunately carton update do not update all modules from cpanfile.snapshot just only mentioned at cpanfile.
Also, I think, it will be OK to install inc::latest
You may be using the "system" perl (cf. perlbrew) where the library paths in %INC assume modules are installed using the operating system's package manager.
When building modules it's sometimes easier to use a locally built perl, a module "bootstrapping" utility like local::lib, or perlbrew to manage your "non-system" instance of perl. This allows you to easily avoid mixing module packages installed by the OS with your own locally built modules.

CentOS cannot start munin after install via yum

I've installed munin (and munin-node) via yum after I did the yum update, this all on CentOS 6.6 - 64bit with directadmin. This all goes well including related packages.
Now when I try to start the munin-node service i get the following error.
Starting Munin Node: Base class package "Net::Server::Fork" is empty.
(Perhaps you need to 'use' the module which defines that package first,
or make that module available 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/share/perl5/vendor_perl/Munin/Node/Server.pm line 5
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Munin/Node/Server.pm line 5.
Compilation failed in require at /usr/sbin/munin-node line 36.
BEGIN failed--compilation aborted at /usr/sbin/munin-node line 36.
Can anybody help me with this error? (my background is more php...)
The munin-node package and the perl-Net-Server package (which provides Net::Server::Fork) are out of sync. Updating the perl-Net-Server package to come from the same repository as the munin-node package should help fix things.

Linux, Backtrack, Perl, Bluesniff

I am trying to run bluesniff on backtrack.I have the bluesniff.pl script and when i try to execute it by typing:
perl bluesniff.pl
An error message came out:
Can't locate Curses.pm in #INC (#INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/local/share/perl/5.10.1/Curses/Application.pm line 92.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.10.1/Curses/Application.pm line 92.
Compilation failed in require at bluesniff.pl line 23.
BEGIN failed--compilation aborted at bluesniff.pl line 23.
Please advise!
To all who commented, thanks! It worked.
Run
cpan Curses
from the command line to install this module and all dependencies.
You need to download the Curses Perl module.
You can install Curses simply by typing apt-get install libcurses-ui-perl if you don't need to learn and install all the Perl stack. If you prefer to, do as others said and use Cpanm to install it.

Running the perl source [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
What's the easiest way to install a missing Perl module?
I downloaded the source code for a perl script. When I try to run it, however, it gives me the following error:
Can't locate Palm/PDB.pm in #INC (#INC contains: /root/Desktop /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /etc/perl/MobiPerl/MobiFile.pm line 3.
BEGIN failed--compilation aborted at /etc/perl/MobiPerl/MobiFile.pm line 3.
Compilation failed in require at ./html2mobi line 21.
BEGIN failed--compilation aborted at ./html2mobi line 21.
What can I possibly do to run this script?
You need to download the right module from CPAN - in this case,
Palm::PDB
Answers to this question explain how to install missing Perl modules.
You will need to find and install the module Palm::PDB from somewhere. It is available on CPAN.