Strawberry Perl - Error Message: This package requires a C compiler - 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

Related

(Windows 10) Trying to Install Perl Modules both PPM and CPAN fail?

Currently running strawberry perl (latest release fresh install) on windows 10
This is what I get when I try running PPM
PS C:\> ppm
Attempt to reload Compress/Raw/Zlib.pm aborted.
Compilation failed in require at C:/Strawberry/perl/vendor/lib/Archive/Zip.pm line 9.
BEGIN failed--compilation aborted at C:/Strawberry/perl/vendor/lib/Archive/Zip.pm line 9.
Compilation failed in require at C:/Strawberry/perl/vendor/lib/PPM.pm line 30.
BEGIN failed--compilation aborted at C:/Strawberry/perl/vendor/lib/PPM.pm line 30.
Compilation failed in require at C:\Strawberry\perl\bin\ppm.bat line 22.
BEGIN failed--compilation aborted at C:\Strawberry\perl\bin\ppm.bat line 22.
This is what I get when I try running cpan
PS C:\> cpan install PadWalker
CPAN: CPAN::SQLite loaded ok (v0.219)
Database was generated on Wed, 25 Nov 2020 19:37:48 GMT
Running install for module 'PadWalker'
CPAN: checksum security checks disabled because Digest::SHA not installed.
Please consider installing the Digest::SHA module.
'" "' is not recognized as an internal or external command,
operable program or batch file.
CPAN: Archive::Tar loaded ok (v1.60)
CPAN.pm needs either the external programs tar and gzip -or- both
modules Archive::Tar and Compress::Zlib installed.
For tar I found nothing, for gzip nothing.
For Archive::Tar I found '', for Compress::Zlib nothing;
Can't continue cutting file 'C:\STRAWB~1\cpan\sources\authors\id\R\RO\ROBIN\PadWalker-2.5.tar.gz'.
CPAN: YAML::XS loaded ok (v0.82)
ROBIN/PadWalker-2.5.tar.gz
Had problems unarchiving. Please build manually
Stopping: 'install' failed for 'PadWalker'.
my perl -v in case thats useful to anyone
PS C:\> perl -v
This is perl 5, version 32, subversion 0 (v5.32.0) built for MSWin32-x64-multi-thread
Anyone have any experience with this at all? I tried looking up some related issues on the errors I was getting but didn't find anything really useful.
Thanks!
#Clamp provided the correct solution by just completely deleting the Strawberry directory and doing a fresh install. Seemed as though there were two different versions conflicting.
I'd suggest deleting C:\Strawberry and install to a clean directory. – clamp Nov 25 '20 at 23:01
(Windows 10) Trying to Install Perl Modules both PPM and CPAN fail?

Strawberry Perl installation of Encode::JIS2K fails

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");

Trouble installing Tk module for perl using CPAN

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.

dmake not found when installing Perl module using CPAN

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'

Strawberry Perl with mod_perl2: building Apache2 modules from CPAN

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.