enc2xs not found! at Makefile.PL line 28.
It's apparently a bug in the Makefile.PL. I get the same error as you.
Line 28 is:
$enc2xs or die "enc2xs not found!";
$enc2xs needs to be set to the full path of Strawberry's perl/bin/enc2xs.bat.
On my Windows machine that path is C:\_64strawberry-vanilla-perl-5.30.0\perl\bin\enc2xs.bat.
In the Makefile.PL, I therefore change that single line 28 to the 2 lines:
$enc2xs = 'C:\_64\strawberry-vanilla-5.30.0\perl\bin\enc2xs.bat';
$enc2xs or die "enc2xs not found!";
Then, in the top level Encode-IBM-0.11 source directory, run the following 3 commands:
perl Makefile.PL
gmake test
gmake install
For me, that produces:
C:\sisyphusion\Encode-IBM-0.11>perl Makefile.PL
enc2xs is C:\_64\strawberry-vanilla-5.30.0\perl\bin\enc2xs.bat
encode.h is at C:\_64\strawberry-vanilla-5.30.0\perl\lib\Encode
Checking if your kit is complete...
Looks good
Generating a gmake-style Makefile
Writing Makefile for Encode::IBM
Writing MYMETA.yml and MYMETA.json
C:\sisyphusion\Encode-IBM-0.11>gmake test
Running Mkbootstrap for IBM ()
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" -MExtUtils::Comma
+nd -e chmod -- 644 "IBM.bs"
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" -MExtUtils::Comma
+nd::MM -e cp_nonempty -- IBM.bs blib\arch\auto\Encode\IBM\IBM.bs 644
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" C:\_64\strawberr
+y-vanilla-5.30.0\perl\bin\enc2xs.bat -"Q" -o IBM_937_t.c -f IBM_937_t
+.fnm
Reading ibm-937 (ibm-937)
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" C:\_64\strawberr
+y-vanilla-5.30.0\perl\bin\enc2xs.bat -"Q" -o IBM_964_t.c -f IBM_964_t
+.fnm
Reading ibm-964 (ibm-964)
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" C:\_64\strawberr
+y-vanilla-5.30.0\perl\bin\enc2xs.bat -"Q" -o IBM_947_t.c -f IBM_947_t
+.fnm
Reading ibm-947 (ibm-947)
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" C:\_64\strawberr
+y-vanilla-5.30.0\perl\bin\enc2xs.bat -"Q" -o IBM_835_t.c -f IBM_835_t
+.fnm
Reading ibm-835 (ibm-835)
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" C:\_64\strawberr
+y-vanilla-5.30.0\perl\bin\enc2xs.bat -"Q" -o IBM_939_t.c -f IBM_939_t
+.fnm
Reading ibm-939 (ibm-939)
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" "C:\_64\strawberr
+y-vanilla-5.30.0\perl\lib\ExtUtils/xsubpp" -nolinenumbers -typemap C
+:\_64\strawberry-vanilla-5.30.0\perl\lib\ExtUtils\typemap IBM.xs > I
+BM.xsc
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" -MExtUtils::Comma
+nd -e mv -- IBM.xsc IBM.c
gcc -c -IC:\_64\strawberry-vanilla-5.30.0\perl\lib\Encode -s -O2 -DWI
+N32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_S
+CRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwra
+pv -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0.11\" -D
+XS_VERSION=\"0.11\" "-IC:\_64\strawberry-vanilla-5.30.0\perl\lib\COR
+E" IBM.c
gcc -c -IC:\_64\strawberry-vanilla-5.30.0\perl\lib\Encode -s -O2 -DWI
+N32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_S
+CRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwra
+pv -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0.11\" -D
+XS_VERSION=\"0.11\" "-IC:\_64\strawberry-vanilla-5.30.0\perl\lib\COR
+E" IBM_835_t.c
gcc -c -IC:\_64\strawberry-vanilla-5.30.0\perl\lib\Encode -s -O2 -DWI
+N32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_S
+CRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwra
+pv -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0.11\" -D
+XS_VERSION=\"0.11\" "-IC:\_64\strawberry-vanilla-5.30.0\perl\lib\COR
+E" IBM_937_t.c
gcc -c -IC:\_64\strawberry-vanilla-5.30.0\perl\lib\Encode -s -O2 -DWI
+N32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_S
+CRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwra
+pv -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0.11\" -D
+XS_VERSION=\"0.11\" "-IC:\_64\strawberry-vanilla-5.30.0\perl\lib\COR
+E" IBM_939_t.c
gcc -c -IC:\_64\strawberry-vanilla-5.30.0\perl\lib\Encode -s -O2 -DWI
+N32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_S
+CRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwra
+pv -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0.11\" -D
+XS_VERSION=\"0.11\" "-IC:\_64\strawberry-vanilla-5.30.0\perl\lib\COR
+E" IBM_947_t.c
gcc -c -IC:\_64\strawberry-vanilla-5.30.0\perl\lib\Encode -s -O2 -DWI
+N32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_S
+CRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwra
+pv -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0.11\" -D
+XS_VERSION=\"0.11\" "-IC:\_64\strawberry-vanilla-5.30.0\perl\lib\COR
+E" IBM_964_t.c
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" -MExtUtils::Mksym
+lists \ -e "Mksymlists('NAME'=>\"Encode::IBM\", 'DLBASE' => 'IBM', 'D
+L_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []
+);"
g++.exe IBM.def -o blib\arch\auto\Encode\IBM\IBM.xs.dll -mdll -s -L"C:
+\_64\strawberry-vanilla-5.30.0\perl\lib\CORE" -L"C:\_64\strawberry-va
+nilla-5.30.0\c\lib" IBM.o IBM_835_t.o IBM_937_t.o IBM_939_t.o IBM_947
+_t.o IBM_964_t.o "C:\_64\strawberry-vanilla-5.30.0\perl\lib\CORE\li
+bperl530.a" -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdl
+g32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_3
+2 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -Wl,--enable
+-auto-image-base
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" -MExtUtils::Comma
+nd -e chmod -- 755 blib\arch\auto\Encode\IBM\IBM.xs.dll
cp lib/Encode/IBM/939SOSI.pm blib\lib\Encode\IBM\939SOSI.pm
cp lib/Encode/IBM/835SOSI.pm blib\lib\Encode\IBM\835SOSI.pm
cp lib/Encode/IBM/835SOSI/TSGH.pm blib\lib\Encode\IBM\835SOSI\TSGH.pm
cp lib/Encode/IBM.pm blib\lib\Encode\IBM.pm
cp lib/Encode/IBM/947SOSI.pm blib\lib\Encode\IBM\947SOSI.pm
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" "-MExtUtils::Comm
+and::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test
+_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/IBM.t .. ok
All tests successful.
Files=1, Tests=3, 0 wallclock secs ( 0.03 usr + 0.00 sys = 0.03 CPU
+)
Result: PASS
C:\sisyphusion\Encode-IBM-0.11>gmake install
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" -MExtUtils::Comma
+nd::MM -e cp_nonempty -- IBM.bs blib\arch\auto\Encode\IBM\IBM.bs 644
Files found in blib\arch: installing files in blib\lib into architectu
+re dependent library tree
Installing C:\_64\strawberry-vanilla-5.30.0\perl\site\lib\auto\Encode\
+IBM\IBM.xs
.dll
Installing C:\_64\strawberry-vanilla-5.30.0\perl\site\lib\Encode\IBM.p
+m
Installing C:\_64\strawberry-vanilla-5.30.0\perl\site\lib\Encode\IBM\8
+35SOSI.pm
Installing C:\_64\strawberry-vanilla-5.30.0\perl\site\lib\Encode\IBM\9
+39SOSI.pm
Installing C:\_64\strawberry-vanilla-5.30.0\perl\site\lib\Encode\IBM\9
+47SOSI.pm
Installing C:\_64\strawberry-vanilla-5.30.0\perl\site\lib\Encode\IBM\8
+35SOSI\TSGH.pm
Appending installation info to C:\_64\strawberry-vanilla-5.30.0\perl\l
+ib/perllocal.pod
require Encode::IBM;
require Encode::IBM::835SOSI;
require Encode::IBM::939SOSI;
require Encode::IBM::947SOSI;
require Encode::IBM::835SOSI::TSGH;
require Encode;
require Encode::compat;
require Encode::Locale;
require Encode::compat::5006001;
require Encode::compat::Alias;
Constant subroutine Encode::FB_PERLQQ redefined at C:/_64/strawberry-v
+anilla-5.30.0/perl/lib/constant.pm line 171.
Constant subroutine Encode::FB_HTMLCREF redefined at C:/_64/strawberry
+-vanilla-5.30.0/perl/lib/constant.pm line 171.
Constant subroutine Encode::FB_XMLCREF redefined at C:/_64/strawberry-
+vanilla-5.30.0/perl/lib/constant.pm line 171.
Prototype mismatch: sub Encode::find_encoding ($;$) vs none at C:/_64/
+strawberry-vanilla-5.30.0/perl/vendor/lib/Encode/compat/common.pm lin
+e 80.
Prototype mismatch: sub Encode::encode_utf8 ($) vs ($;$) at C:/_64/str
+awberry-vanilla-5.30.0/perl/vendor/lib/Encode/compat/common.pm line 8
+8.
require Encode::compat::common;
require Encode;
require Encode::Alias;
require Encode::Byte;
require Encode::CJKConstants;
require Encode::CN;
require Encode::Config;
require Encode::EBCDIC;
require Encode::Encoder;
require Encode::Encoding;
require Encode::GSM0338;
require Encode::Guess;
require Encode::JP;
require Encode::KR;
require Encode::Symbol;
require Encode::TW;
require Encode::Unicode;
require Encode::CN::HZ;
require Encode::JP::H2Z;
require Encode::JP::JIS7;
require Encode::KR::2022_KR;
require Encode::MIME::Header;
require Encode::MIME::Name;
require Encode::MIME::Header::ISO_2022_JP;
require Encode::Unicode::UTF7;
$Encode::ExtModule{'ibm-835'} = "Encode::IBM";
$Encode::ExtModule{'ibm-835-sosi'} = "Encode::IBM";
$Encode::ExtModule{'ibm-835-sosi-tsgh'} = "Encode::IBM";
$Encode::ExtModule{'ibm-937'} = "Encode::IBM";
$Encode::ExtModule{'ibm-939'} = "Encode::IBM";
$Encode::ExtModule{'ibm-939-sosi'} = "Encode::IBM";
$Encode::ExtModule{'ibm-947'} = "Encode::IBM";
$Encode::ExtModule{'ibm-947-sosi'} = "Encode::IBM";
$Encode::ExtModule{'ibm-964'} = "Encode::IBM";
C:/_64/strawberry-vanilla-5.30.0/perl/lib/Encode
Generating C:\_64\strawberry-vanilla-5.30.0\perl\lib\Encode\ConfigLoca
+l.pm...
and the job is successfully completed !!
Cheers,
Rob