How install TCOD::Key with Straberry perl (windows 10) - perl

I have got Strawberry perl with windows 10. Using cpan I try to install TCOD::Key. The problem is the libtcod.h file is absent. I do not understand how install the libraria.
D:\Documents>cpanm --force TCOD::Key
--> Working on TCOD::Key
Fetching http://www.cpan.org/authors/id/J/JJ/JJATRIA/TCOD-0.009.tar.gz ... OK
Configuring TCOD-0.009 ... OK
Building and testing TCOD-0.009 ... FAIL
! Installing TCOD::Key failed. See C:\Users\User\.cpanm\work\1672857094.2144\build.log for details. Retry with --force to force install it.
screenshot
I expect that by installing the library, the TSOD::Key module will install successfully.

Related

Installing a patch for a dependent module: cpanm still tries to install broken module after I have installed patched module manually

I am trying to install Net::SSH::Perl using cpanm (from perlbrew and perl version 5.30). The installation fails with:
$ cpanm Net::SSH::Perl
--> Working on Net::SSH::Perl
Fetching http://www.cpan.org/authors/id/S/SC/SCHWIGON/Net-SSH-Perl-2.14.tar.gz ... OK
Configuring Net-SSH-Perl-2.14 ... OK
==> Found dependencies: Crypt::Curve25519
--> Working on Crypt::Curve25519
Fetching http://www.cpan.org/authors/id/A/AJ/AJGB/Crypt-Curve25519-0.06.tar.gz ... OK
Configuring Crypt-Curve25519-0.06 ... OK
Building and testing Crypt-Curve25519-0.06 ... FAIL
! Installing Crypt::Curve25519 failed. See /home/hakon/.cpanm/work/1587758019.381709/build.log for details. Retry with --force to force install it.
! Installing the dependencies failed: Missing version info for module 'Crypt::Curve25519'
! Bailing out the installation for Net-SSH-Perl-2.14.
The problem with installing Crypt::Curve25519 is described in this issue. I downloaded the problematic module Crypt::Curve25519 and patched it:
git clone git#github.com:ajgb/crypt-curve25519.git
wget https://www.cpan.org/authors/id/S/SR/SREZIC/patches/Crypt-Curve25519-0.06-PR10-ANOTHERLINK.patch
cd crypt-curve25519
git apply ../Crypt-Curve25519-0.06-PR10-ANOTHERLINK.patch
perl Makefile.PL
make # No errors now
make test
make install
However, when I try again to install Crypt::Curve25519 it still tries to install the broken module from CPAN:
$ cpanm Net::SSH::Perl
--> Working on Net::SSH::Perl
Fetching http://www.cpan.org/authors/id/S/SC/SCHWIGON/Net-SSH-Perl-2.14.tar.gz ... OK
Configuring Net-SSH-Perl-2.14 ... OK
==> Found dependencies: Crypt::Curve25519
--> Working on Crypt::Curve25519
Fetching http://www.cpan.org/authors/id/A/AJ/AJGB/Crypt-Curve25519-0.06.tar.gz ... OK
Configuring Crypt-Curve25519-0.06 ... OK
Building and testing Crypt-Curve25519-0.06 ... FAIL
! Installing Crypt::Curve25519 failed. See /home/hakon/.cpanm/work/1587758833.382749/build.log for details. Retry with --force to force install it.
! Installing the dependencies failed: Missing version info for module 'Crypt::Curve25519'
! Bailing out the installation for Net-SSH-Perl-2.14.
How can I make cpanm use the installed patch instead (i.e. skip installation of Crypt::Curve25519 since it is already installed)?
The problem seems to be missing VERSION information in the module. By adding a line
our $VERSION = 0.06;
to the top of the file lib/Crypt/Curve25519.pm and then reinstall, and then installing cpanm Net::SSH::Perl worked fine (it accepted the patched installation and did not try to download the broken version).
Here is the patch I used to lib/Crypt/Curve25519.pm:
diff --git a/lib/Crypt/Curve25519.pm b/lib/Crypt/Curve25519.pm
index 686b706..d9c2b3d 100644
--- a/lib/Crypt/Curve25519.pm
+++ b/lib/Crypt/Curve25519.pm
## -1,4 +1,5 ##
package Crypt::Curve25519;
+our $VERSION = 0.06;
#ABSTRACT: Generate shared secret using elliptic-curve Diffie-Hellman function
use strict;
There's a few things to check:
cpanm knows where to find your patched version.
The patched version has a version that's higher than the one on CPAN. The module idea in CPAN assumes that you always want the latest, so ensure that yours is.
You don't want to install a patched module at the standard location because you don't want a cpan client to overwrite it.
Some other things that can work:
Force install the module and ignore the failures (cpanm has a --notest feature). The CPAN version is still installed, but that doesn't matter.
Have your patched version in a separate directory that's at the front of #INC so your program finds it first. This effectively hides the CPAN version.

Failed during install WWW::Curl::Easy in cpan

I am installing perl module "WWW::Curl::Easy" but it's getting error I also use by fource install but it's getting same error. why this is happend plz help me out.
I used these command in cpan
perl -MCPAN -e shell
force install WWW::Curl::Easy
cpan[1]> force install WWW::Curl::Easy
Reading '/root/.cpan/Metadata'
Database was generated on Thu, 16 Feb 2017 05:17:02 GMT
Running install for module 'WWW::Curl::Easy'
Checksum for /root/.cpan/sources/authors/id/S/SZ/SZBALINT/WWW-Curl-4.17.tar.gz ok
Scanning cache /root/.cpan/build for sizes
............................................................................DONE
Configuring S/SZ/SZBALINT/WWW-Curl-4.17.tar.gz with Makefile.PL
Locating required external dependency bin:curl-config... missing.
Unresolvable missing external dependency.
Please install 'curl-config' seperately and try again.
NA: Unable to build distribution on this platform.
No 'Makefile' created SZBALINT/WWW-Curl-4.17.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK
Failed during this command:
SZBALINT/WWW-Curl-4.17.tar.gz : writemakefile NO -- No 'Makefile' created
I use this and it's install "WWW::Curl::Easy" Module without any error
apt-get install libwww-curl-perl
On Red Hat try:
yum install curl curl-devel
installing only curl didn't work for me.
It is telling you the problem
Locating required external dependency bin:curl-config... missing.
Unresolvable missing external dependency. Please install 'curl-config'
seperately and try again.
So install curl-config and try again. Always check for dependencies.
Installing curl-config methods depends on the OS.
for Redhat for instance it will be
yum install curl
FreeBSD 12.2-RELEASE
cd /usr/ports/www/p5-WWW-Curl
make install clean
...
(cleaning for curl-7.80.0
cleaning for p5-WWW-Curl)

How can I install module PDF::OCR2 in perl?

I am trying to fetch text from scanned PDF using perl, so I use PDF::OCR2 module in perl but I can not install this module,it is fail at installation of Image::OCR::Tesseract module, I am using CentOS7,here is my error during installation
one dependency not OK (Image::OCR::Tesseract); additionally test harness failed
/usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports LEOCHARRE/PDF-OCR2-1.21.tar.gz
Running make install
Appending installation info to /usr/lib64/perl5/perllocal.pod
LEOCHARRE/PDF-OCR2-1.21.tar.gz
sudo /usr/bin/make install -- OK
Failed during this command:
LEOCHARRE/PDF-OCR2-1.21.tar.gz : make_test NO one dependency not OK (Image::OCR::Tesseract); additionally test harness failed
I read it's installation guid,they suggested to install gcc-c++ and automake first and then run following commands
svn checkout http://tesseract-ocr.googlecode.com/svn/trunk/ tesseract-ocr
./runautoconf
mkdir build-directory
cd build-directory
../configure
make
make install
but it's url does not work
Is there any other way to install the module PDF::OCR2 successfully?
Tesseract, like many things has moved to github:
https://github.com/tesseract-ocr
You need to clone and build this software from here before trying to install the PDF::OCR2 module. Submit a ticket or a patch to update the INSTALL instructions.

Install perl module Net:SSH2 on redhat/centos 7

As the title says I am trying to install the perl module perl-Net-SSH2. I have tried via yum but get an error that no package is available.
yum install perl-Net-SSH2
I have tried by downloading an rpm file but the only one I can find is for el6 and it complains about the version of perl
yum localinstall perl-Net-SSH2-0.45-4.el6.x86_64.rpm
Requires: perl(:MODULE_COMPAT_5.10.1)
I have tried downloading the source code but get told "Unable to find a working version of library ssh2 in the following directories" even though it is installed. (via yum install libssh2 libssh2-devel)
I have tried via cpan but get the same error "Unable to find a working version of library ssh2 in the following directories"
Any ideas? Google is very sketchy on this and only
OK, I solved this while writing the question. Seeing as information on this is limited I thought it would be worth posting the question anyway. The error message was giving the wrong information in that it was actually gcc that was missing, not libssh2. These are the steps I followed. I've tried to make it as verbatim as possible. I have not verified all these modules are required but this is what I installed before compiling it.
yum install libssh2 libssh2-devel
yum install openssl openssl-devel
yum install perl-Net-SSLeay
yum install gcc
Search for Net::SSH2 in google
Click the link "Net::SSH2 - search.cpan.org"
Download source code (tar.gz file)
Copy it to your redhat 7 machine
tar -xvf Net-SSH2-0.62.tar.gz
cd Net-SSH2-x.xx
perl Makefile.PL
make
make install
Should all be working now, test it with
perl -e 'use Net::SSH2;'

Redhat Linux 6.5 Perl GD CPAN Module yum

when i try to install "GD" (perl -e shell -MCPAN ->(next step) cpan[1]> install GD) on Redhat 6.5 i got the error:
->
CPAN.pm: Building L/LD/LDS/GD-2.53.tar.gz
UNRECOVERABLE ERROR
Could not find gdlib-config in the search path. Please install libgd 2.0.28 or higher.
If you want to try to compile anyway, please rerun this script with the option --ignore_missing_gd.
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
CPAN: YAML loaded ok (v0.90)
LDS/GD-2.53.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- 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:
LDS/GD-2.53.tar.gz : writemakefile NO '/usr/bin/perl Makefile.PL INSTALLDIRS=site' returned status 512
<-
I tryed to install "libgd 2.0.28 or higher" but don't find this in "yum".
locate libgd (shows):
/usr/lib64/libgd.so.2
/usr/lib64/libgd.so.2.0.0
Does anyone know an advice?
Many perl modules are available already built and packaged for RHEL and derivatives such as CentOS. In the case of perl-GD, it seems it is available in the CentOS in the base repo even though it is not in the RHEL repo.
However you can still use the Centos repo by adding it to your yum configuration. Create a file /etc/yum.repos.d/cantos.repo containing:
[centos]
name=CentOS $releasever - $basearch
baseurl=http://mirror.centos.org/centos-6/6/os/$basearch/
enabled=0
gpgcheck=0
After which you should be able to install perl-GD
yum install --enablerepo centos perl-GD
It looks as though the current version of perl-GD for centos is 2.44.
If you do need a newer version that that, you will either need to find a 3rd party yum repo which has the later version of libgd available, or compile it from source. In a quick google I could not find the former, so I would recommend you download the latest source package and install that.
You need the package gd-devel then rebuild the GD module.