I installed Perl from ActiveState. Plain version with no extensions. Windows 10.
"This is perl 5, version 28, subversion 1 (v5.28.1) built for MSWin32-x64-multi-thread"
A pre-existing perl script that I need to use accesses PostScript::Simple so I need to add that to my install.
Supposedly, the right way to do this is to open cpan and run the command "install PostScript::Simple".
However, it eventually fails with a dmake error. I've tried cpan install dmake and appears to be trying to do so, but that also fails.
Loading internal logger. Log::Log4perl recommended for better logging
Reading 'H:\.cpan\Metadata'
Database was generated on Wed, 25 Sep 2019 15:55:37 GMT
Running install for module 'PostScript::Simple'
CPAN: Digest::SHA loaded ok (v6.01)
CPAN: Compress::Zlib loaded ok (v2.074)
Checksum for H:\.cpan\sources\authors\id\M\MC\MCNEWTON\PostScript-Simple-0.09.tar.gz ok
CPAN: Archive::Tar loaded ok (v2.30)
'YAML' not installed, will not store persistent state
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: Parse::CPAN::Meta loaded ok (v2.150010)
CPAN: CPAN::Meta loaded ok (v2.150010)
CPAN: Module::CoreList loaded ok (v5.20181129_28)
Configuring M/MC/MCNEWTON/PostScript-Simple-0.09.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for PostScript::Simple
Writing MYMETA.yml and MYMETA.json
MCNEWTON/PostScript-Simple-0.09.tar.gz
C:\Perl64\bin\perl.exe Makefile.PL -- OK
Running make for M/MC/MCNEWTON/PostScript-Simple-0.09.tar.gz
**'dmake' is not recognized as an internal or external command,**
operable program or batch file.
MCNEWTON/PostScript-Simple-0.09.tar.gz
dmake -- NOT OK
Runcpan, and execute the following:
o conf make
Here's an example from one of my Windows systems:
cpan> o conf make
make [C:\STRAWB~1\c\bin\gmake.exe]
Check to see if the file listed in the make option is available on your system where cpan thinks it is (the entry may just be missing the path information to the binary).
If it's not, either find it, or look for another make program (gmake.exe is common), then enter the path and the make program's filename with the configuration command under cpan:
cpan> o conf make C:\\Strawberry\\c\\bin\\gmake.exe
make [C:\Strawb~1\c\bin\gmake.exe]
commit: wrote 'C:\Strawberry\perl\lib/CPAN/Config.pm'
Related
I have installed the newest version of Strawberry Perl and installed several modules without any errors. However, the module Encode::JIS2K is stubbornly failing to install:
C:\PDFCrop\biblatex-biber-2.15>cpan Encode::JIS2K
CPAN: CPAN::SQLite loaded ok (v0.219)
Database was generated on Tue, 15 Sep 2020 09:41:42 GMT
Running install for module 'Encode::JIS2K'
CPAN: Digest::SHA loaded ok (v6.02)
CPAN: Compress::Zlib loaded ok (v2.096)
Checksum for C:\Strawberry\cpan\sources\authors\id\D\DA\DANKOGAI\Encode-JIS2K-0.03.tar.gz ok
CPAN: Archive::Tar loaded ok (v2.38)
CPAN: YAML::XS loaded ok (v0.82)
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: Parse::CPAN::Meta loaded ok (v2.150010)
CPAN: CPAN::Meta loaded ok (v2.150010)
CPAN: Module::CoreList loaded ok (v5.20200717)
Configuring D/DA/DANKOGAI/Encode-JIS2K-0.03.tar.gz with Makefile.PL
enc2xs not found! at Makefile.PL line 35.
Warning: No success on command[C:\Strawberry\perl\bin\perl.exe Makefile.PL]
DANKOGAI/Encode-JIS2K-0.03.tar.gz
C:\Strawberry\perl\bin\perl.exe Makefile.PL -- NOT OK
Stopping: 'install' failed for 'Encode::JIS2K'.
I believe that enc2xs not found! at Makefile.PL line 35. is the problematic entry, but I am at a loss why there is something missing since all actions before returned "OK" and it worked for every other module so far.
Working on Windows 10, x64 with Strawberry Perl v. 5.32.0.1
When you find a problem like that, it's always worth checking to see if it's a known problem. You can do that by visiting the module's page on CPAN. You can then click on the "Issues" link in the left-hand menu.
You'll see there's an issue entitled enc2xs may not be found on MSWIN32 which is about the problem you've found.
Unfortunately, that problem has been there, unfixed, for five years. However, the problem description includes a suggested fix for the problem. You can edit your Makefile.PL and replace lines 34-35 with this:
$enc2xs = $enc2xs_fpath
if (-x $enc2xs_fpath || -x "$enc2xs_fpath.bat");
I am trying to install the Tk module in Strawberry Perl using cpan install Tk, but I get the following error message.
Loading internal logger. Log::Log4perl recommended for better logging
Reading '\c\Users\Pravi\.cpan\Metadata'
Database was generated on Mon, 18 May 2020 17:55:59 GMT
Running install for module 'Tk'
CPAN: Digest::SHA loaded ok (v6.02)
CPAN: Compress::Zlib loaded ok (v2.09)
Checksum for \c\Users\Pravi\.cpan\sources\authors\id\S\SR\SREZIC\Tk-804.035.tar.gz ok
The system cannot find the path specified.
Uncompressed \c\Users\Pravi\.cpan\sources\authors\id\S\SR\SREZIC\Tk-804.035.tar.gz successfully
Using Tar:/usr/bin/tar xf "Tk-804.035.tar":
The system cannot find the path specified.
Couldn't untar Tk-804.035.tar: child exited with value 1
CPAN: YAML loaded ok (v1.29)
SREZIC/Tk-804.035.tar.gz
Had problems unarchiving. Please build manually
I am confused by the "System cannot find the path specified" and am wondering how I can fix this issue.
Tk installation with CPAN
I have tried following the steps here but it looks like this for ActivePerl and NOT Strawberry Perl.
I have Strawberry Perl May 2016 (5.24.0) 32bit PortableZIP edition. I have only unzipped it; there are no changes otherwise.
When i want to install modules with cpan i got the follow error:
C:\Fhem\perl\bin>cpan -i Net::SSLeay
Loading internal null logger. Install Log::Log4perl for logging messages
CPAN: CPAN::SQLite loaded ok (v0.211)
Database was generated on Tue, 13 Dec 2016 13:41:47 GMT
Running install for module 'Net::SSLeay'
CPAN: LWP::UserAgent loaded ok (v6.15)
CPAN: Time::HiRes loaded ok (v1.9733)
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/M/MI/MIKEM/Net-SSLeay-1.78.tar.gz
CPAN: YAML::XS loaded ok (v0.62)
CPAN: Digest::SHA loaded ok (v5.95)
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/M/MI/MIKEM/CHECKSUMS
CPAN: Compress::Zlib loaded ok (v2.069)
Checksum for C:\Fhem\cpan\sources\authors\id\M\MI\MIKEM\Net-SSLeay-1.78.tar.gz ok
CPAN: Archive::Tar loaded ok (v2.06)
CPAN: File::Temp loaded ok (v0.2304)
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: Parse::CPAN::Meta loaded ok (v1.4417)
CPAN: CPAN::Meta loaded ok (v2.150005)
CPAN: Module::CoreList loaded ok (v5.20160507)
Configuring M/MI/MIKEM/Net-SSLeay-1.78.tar.gz with Makefile.PL
Unresolvable missing external dependency.
This package requires a C compiler.
NA: Unable to build distribution on this platform.
No 'Makefile' created MIKEM/Net-SSLeay-1.78.tar.gz
C:\Fhem\perl\bin\perl.exe Makefile.PL -- NOT OK
Stopping: 'install' failed for 'Net::SSLeay'.
Seems to be no compiler found. What must I do to fix this?
Presumably you are running perl and cpan directly from the command prompt?
You should read the contents of the README.txt file in the distribution, where it tells you to run
c:\myperl\portableshell.bat before using any of the utilities
I hope it's clear that you must change c:\myperl to the folder where you unzipped the distribution
There are three subdirectories of the unzipped volume which need to be in the PATH before everything will work, and the .bat file will set those up temporarily for you. If you want something more permanent then the README.txt file explains how to do that, but you should probably run a proper installed version instead
I am installing the CLucene module using this command
cpan>install CLucene
when I install the following error occurs
Reading '/root/.local/share/.cpan/Metadata'
Database was generated on Thu, 07 Apr 2016 10:17:02 GMT
Running install for module 'CLucene'
Checksum for /root/.local/share/.cpan/sources/authors/id/P/PE/PEDWARDS/CLucene-1.00.tar.gz ok
Scanning cache /root/.local/share/.cpan/build for sizes
............................................................................DONE
Configuring P/PE/PEDWARDS/CLucene-1.00.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for CLucene
Writing MYMETA.yml and MYMETA.json
PEDWARDS/CLucene-1.00.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for P/PE/PEDWARDS/CLucene-1.00.tar.gz
make: *** No rule to make target '/usr/lib/clucene_dll.o', needed by 'CLuceneWrap.so'. Stop.
PEDWARDS/CLucene-1.00.tar.gz
/usr/bin/make -- NOT OK
Failed during this command:
PEDWARDS/CLucene-1.00.tar.gz : make NO
Can anyone help me?
If you look at the README file in the distribution you will see that it says this
This module requires these other modules and libraries:
CLucene engine from the RPM available at http://sourceforge.net/projects/clucene.
Carp.
File::Path.
The file /usr/lib/clucene_dll.o is almost certainly a part of the CLucene engine installation, so it looks like you still need to do that
If you think you have installed the engine then you need to investigate why its components aren't where the Perl installer is looking
The URL provided is actually a dead link and you should look at clucene.sourceforge.net instead
I have Strawberry Perl 5.10 and mod_perl2 installed per these instructions on the mod_perl mailing list without a problem. However, trying to install various Apache2:: modules that my scripts use result in errors. One (Apache2::Reload) I was able to install despite this:
C:\>cpan -f Apache2::Reload
CPAN: CPAN::SQLite loaded ok (v0.199)
Database was generated on Tue, 09 Nov 2010 02:40:29 GMT
Running install for module 'Apache2::Reload'
Running make for P/PH/PHRED/Apache-Reload-0.11.tar.gz
CPAN: Digest::SHA loaded ok (v5.48)
CPAN: Compress::Zlib loaded ok (v2.03)
Checksum for C:\strawberry\cpan\sources\authors\id\P\PH\PHRED\Apache-Reload-0.11
.tar.gz ok
CPAN: Archive::Tar loaded ok (v1.66)
CPAN: File::Temp loaded ok (v0.22)
CPAN: Parse::CPAN::Meta loaded ok (v1.40)
CPAN: Module::CoreList loaded ok (v2.36)
CPAN.pm: Going to build P/PH/PHRED/Apache-Reload-0.11.tar.gz
Cannot opendir Y:\Apache\APACHE~2\lib: No such file or directory at C:/strawberr
y/perl/site/lib/Apache2/Build.pm line 1664.
Warning: No success on command[C:\strawberry\perl\bin\perl.exe Makefile.PL]
CPAN: YAML loaded ok (v0.71)
PHRED/Apache-Reload-0.11.tar.gz
C:\strawberry\perl\bin\perl.exe Makefile.PL -- NOT OK
Running make test
Make had some problems, won't test
Running make install
Make had some problems, won't install
C:\>
...just by copying a couple .pm files to site/lib. However, the others I am less sure about. For example, Apache2::RequestRec gives me the following errors:
C:\>cpan -f Apache2::RequestRec
CPAN: CPAN::SQLite loaded ok (v0.199)
Database was generated on Tue, 09 Nov 2010 02:40:29 GMT
CPAN: Module::CoreList loaded ok (v2.36)
Running install for module 'Apache2::RequestRec'
Running make for G/GO/GOZER/mod_perl-2.0.4.tar.gz
CPAN: Digest::SHA loaded ok (v5.48)
CPAN: Compress::Zlib loaded ok (v2.03)
Checksum for C:\strawberry\cpan\sources\authors\id\G\GO\GOZER\mod_perl-2.0.4.tar
.gz ok
CPAN: Archive::Tar loaded ok (v1.66)
CPAN: File::Temp loaded ok (v0.22)
CPAN: Parse::CPAN::Meta loaded ok (v1.40)
CPAN.pm: Going to build G/GO/GOZER/mod_perl-2.0.4.tar.gz
no conflicting prior mod_perl version found - good.
Next we need to know where the 'apxs' script is located. This script
provides a lot of information about the Apache installation, and makes
it easier to find things on your system. Normally it's located in the
same directory as the 'httpd' executable.
If you don't yet have Apache installed you can build Apache against
the Apache source code, but you won't be able to run the test suite (a
very important step). Therefore you may want to install Apache before
proceeding.
Please provide a full path to 'apxs' executable
(press Enter if you don't have it installed):
Please provide the location of the Apache directory: C:\Program Files\Apache So
ftware Foundation\Apache2.2
[ error] Unable to open C:\Program Files\Apache Software Foundation\Apache2.2/a
p_release.h: No such file or directory
[ error] Unable to determine server version, aborting.
[ error] Please specify MP_APXS or MP_AP_PREFIX.
Warning: No success on command[C:\strawberry\perl\bin\perl.exe Makefile.PL]
CPAN: YAML loaded ok (v0.71)
GOZER/mod_perl-2.0.4.tar.gz
C:\strawberry\perl\bin\perl.exe Makefile.PL -- NOT OK
Running make test
Make had some problems, won't test
Running make install
Make had some problems, won't install
C:\>
Is there some trick to compiling Apache2:: modules under Strawberry Perl? Do I need to compile my own Apache binaries too or something? (If so, can I do that with the make tools supplied with Strawberry?)
If you compile apache from source, you should have apxs.exe from apache.
Add that to PATH. You need the apache source code for some Apache:: bits.
Installing via those instructions actually installs all the Apache2:: modules, except for Apache2::Reload.