in reply to Re: enc2xs not found! at Makefile.PL
in thread enc2xs not found! at Makefile.PL

thanks a lot... I was playing in that direction without success so far...

tried your way , got a new error now:

D:\STRAWB~1\cpan\build\Encode-IBM-0.11-11>D:\Strawberry\perl\bin\perl +Makefile.PL enc2xs is D:\Strawberry\perl\bin\enc2xs.bat encode.h is at D:\Strawberry\perl\lib\Encode Checking if your kit is complete... Looks good ... Detected uninstalled Perl. Trying to continue. Have \strawberry\perl\lib Want \strawb~1\perl\lib Failed to opendir 'D:\STRAWB~1\perl\lib\CORE' to find header files: No + such file or directory at D:/Strawberry/perl/lib/ExtUtils/MM_Any.pm +line 3049.

Replies are listed 'Best First'.
Re^3: enc2xs not found! at Makefile.PL
by syphilis (Archbishop) on Nov 20, 2019 at 23:05 UTC
    Failed to opendir 'D:\STRAWB~1\perl\lib\CORE' to find header files: No such file or directory at D:/Strawberry/perl/lib/ExtUtils/MM_Any.pm line 3049.

    What version of Perl is this (please provide output of perl -V) ?
    What version of Windows ? Also, what is the output of running set ?

    It's a pretty weird error that you're getting - looks like some sort of ExtUtils::MakeMaker issue to me.
    The actual error is coming from strawberry/perl/lib/ExtUtils/MM_Unix.pm ... I can't recall seeing that error ever before.
    What version of EU::MM are you running:
    perl -MExtUtils::MakeMaker -le "print $ExtUtils::MakeMaker::VERSION;"

    In strawberry/perl/lib/ExtUtils/MM_Unix.pm, try changing the line:
    if (not -f ($perl_h = $self->catfile($self->{PERL_INC},"perl.h")) to if(0)
    and see if that works.

    Without being able to reproduce the error it's rather hard for me to work out how to fix it.

    Cheers,
    Rob
      >perl -V Summary of my perl5 (revision 5 version 30 subversion 0) configuration +: Platform: osname=MSWin32 osvers=10.0.17763.529 archname=MSWin32-x86-multi-thread-64int uname='Win32 strawberry-perl 5.30.0.1 #1 Thu May 23 09:43:53 2019 +i386' config_args='undef' hint=recommended useposix=true d_sigaction=undef useithreads=define usemultiplicity=define use64bitint=define use64bitall=undef uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='gcc' ccflags =' -s -O2 -DWIN32 -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE +_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fw +rapv -fno-strict-aliasing -mms-bitfields' optimize='-s -O2' cppflags='-DWIN32' ccversion='' gccversion='8.3.0' gccosandvers='' intsize=4 longsize=4 ptrsize=4 doublesize=8 byteorder=12345678 doublekind=3 d_longlong=define longlongsize=8 d_longdbl=define longdblsize=12 longdblkind=3 ivtype='long long' ivsize=8 nvtype='double' nvsize=8 Off_t='long long' lseeksize=8 alignbytes=8 prototype=define Linker and Libraries: ld='g++' ldflags ='-s -L"D:\STRAWB~1\perl\lib\CORE" -L"D:\STRAWB~1\c\lib"' libpth=D:\STRAWB~1\c\lib D:\STRAWB~1\c\i686-w64-mingw32\lib D:\STR +AWB~1\c\lib\gcc\i686-w64-mingw32\8.3.0 libs= -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 + -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 - +lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 perllibs= -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomd +lg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_ +32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 libc= so=dll useshrplib=true libperl=libperl530.a gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs dlext=xs.dll d_dlsymun=undef ccdlflags=' ' cccdlflags=' ' lddlflags='-mdll -s -L"D:\STRAWB~1\perl\lib\CORE" -L"D:\STRAWB~1\c +\lib"' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO USE_PERL_ATOF Built under MSWin32 Compiled at May 23 2019 09:49:35 @INC: D:/Strawberry/perl/site/lib D:/Strawberry/perl/vendor/lib D:/Strawberry/perl/lib

      =================================================

      >perl -MExtUtils::MakeMaker -le "print $ExtUtils::MakeMaker::VERSION;" 7.36

        I still can't reproduce the problem that you're experiencing.
        Using the same build of Strawberry Perl as you:
        C:\sisyphusion\Encode-IBM-0.11>perl -V Summary of my perl5 (revision 5 version 30 subversion 0) configuration +: Platform: osname=MSWin32 osvers=10.0.17763.529 archname=MSWin32-x86-multi-thread-64int uname='Win32 strawberry-perl 5.30.0.1 #1 Thu May 23 09:43:53 2019 +i386' .................
        I find no problem if Makefile.PL has been modified as I specified earlier:
        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:\_32\strawberry-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:\_32\strawberry-5.30.0\perl\bin\perl.exe" -MExtUtils::Command -e ch +mod -- 644 "IBM.bs" "C:\_32\strawberry-5.30.0\perl\bin\perl.exe" -MExtUtils::Command::MM - +e cp_nonempty -- IBM.bs blib\arch\auto\Encode\IBM\IBM.bs 644 "C:\_32\strawberry-5.30.0\perl\bin\perl.exe" C:\_64\strawberry-vanill +a-5.30.0\perl\bin\enc2xs.bat -"Q" -o IBM_937_t.c -f IBM_937_t.fnm Reading ibm-937 (ibm-937) "C:\_32\strawberry-5.30.0\perl\bin\perl.exe" C:\_64\strawberry-vanill +a-5.30.0\perl\bin\enc2xs.bat -"Q" -o IBM_964_t.c -f IBM_964_t.fnm Reading ibm-964 (ibm-964) "C:\_32\strawberry-5.30.0\perl\bin\perl.exe" C:\_64\strawberry-vanill +a-5.30.0\perl\bin\enc2xs.bat -"Q" -o IBM_835_t.c -f IBM_835_t.fnm Reading ibm-835 (ibm-835) "C:\_32\strawberry-5.30.0\perl\bin\perl.exe" C:\_64\strawberry-vanill +a-5.30.0\perl\bin\enc2xs.bat -"Q" -o IBM_939_t.c -f IBM_939_t.fnm Reading ibm-939 (ibm-939) "C:\_32\strawberry-5.30.0\perl\bin\perl.exe" C:\_64\strawberry-vanill +a-5.30.0\perl\bin\enc2xs.bat -"Q" -o IBM_947_t.c -f IBM_947_t.fnm Reading ibm-947 (ibm-947) "C:\_32\strawberry-5.30.0\perl\bin\perl.exe" "C:\_32\strawberry-5.30.0 +\perl\lib\ExtUtils/xsubpp" -nolinenumbers -typemap C:\_32\strawberry +-5.30.0\perl\lib\ExtUtils\typemap IBM.xs > IBM.xsc "C:\_32\strawberry-5.30.0\perl\bin\perl.exe" -MExtUtils::Command -e mv + -- IBM.xsc IBM.c gcc -c -IC:\_32\strawberry-5.30.0\perl\lib\Encode -s -O2 -DWIN32 -D__ +USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT +-DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bi +tfields -s -O2 -DVERSION=\"0.11\" -DXS_VERSION=\"0.11\" "-IC:\_32\ +strawberry-5.30.0\perl\lib\CORE" IBM.c gcc -c -IC:\_32\strawberry-5.30.0\perl\lib\Encode -s -O2 -DWIN32 -D__ +USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT +-DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bi +tfields -s -O2 -DVERSION=\"0.11\" -DXS_VERSION=\"0.11\" "-IC:\_32\ +strawberry-5.30.0\perl\lib\CORE" IBM_835_ t.c gcc -c -IC:\_32\strawberry-5.30.0\perl\lib\Encode -s -O2 -DWIN32 -D__ +USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT +-DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bi +tfields -s -O2 -DVERSION=\"0.11\" -DXS_VERSION=\"0.11\" "-IC:\_32\ +strawberry-5.30.0\perl\lib\CORE" IBM_937_t.c gcc -c -IC:\_32\strawberry-5.30.0\perl\lib\Encode -s -O2 -DWIN32 -D__ +USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT +-DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bi +tfields -s -O2 -DVERSION=\"0.11\" -DXS_VERSION=\"0.11\" "-IC:\_32\ +strawberry-5.30.0\perl\lib\CORE" IBM_939_t.c gcc -c -IC:\_32\strawberry-5.30.0\perl\lib\Encode -s -O2 -DWIN32 -D__ +USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT +-DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bi +tfields -s -O2 -DVERSION=\"0.11\" -DXS_VERSION=\"0.11\" "-IC:\_32\ +strawberry-5.30.0\perl\lib\CORE" IBM_947_t.c gcc -c -IC:\_32\strawberry-5.30.0\perl\lib\Encode -s -O2 -DWIN32 -D__ +USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT +-DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bi +tfields -s -O2 -DVERSION=\"0.11\" -DXS_VERSION=\"0.11\" "-IC:\_32\ +strawberry-5.30.0\perl\lib\CORE" IBM_964_t.c "C:\_32\strawberry-5.30.0\perl\bin\perl.exe" -MExtUtils::Mksymlists \ + -e "Mksymlists('NAME'=>\"Encode::IBM\", 'DLBASE' => 'IBM', 'DL_FU +NCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" g++.exe IBM.def -o blib\arch\auto\Encode\IBM\IBM.xs.dll -mdll -s -L"C: +\_32\strawberry-5.30.0\perl\lib\CORE" -L"C:\_32\strawberry-5.30.0\c\l +ib" IBM.o IBM_835_t.o IBM_937_t.o IBM_939_t.o IBM_947_t.o IBM_964_t.o + "C:\_32\strawberry-5.30.0\perl\lib\CORE\libperl530.a" -lmoldname - +lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 + -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversio +n -lodbc32 -lodbccp32 -lcomctl32 -Wl,--enable-auto-image-base "C:\_32 +\strawberry-5.30.0\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- + 755 blib\arch\auto\Encode\IBM\IBM.xs.dll cp lib/Encode/IBM.pm blib\lib\Encode\IBM.pm cp lib/Encode/IBM/835SOSI.pm blib\lib\Encode\IBM\835SOSI.pm cp lib/Encode/IBM/939SOSI.pm blib\lib\Encode\IBM\939SOSI.pm cp lib/Encode/IBM/835SOSI/TSGH.pm blib\lib\Encode\IBM\835SOSI\TSGH.pm cp lib/Encode/IBM/947SOSI.pm blib\lib\Encode\IBM\947SOSI.pm "C:\_32\strawberry-5.30.0\perl\bin\perl.exe" "-MExtUtils::Command::MM" + "-MTest:: Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\l +ib', 'blib \arch')" t/*.t t/IBM.t .. ok All tests successful. Files=1, Tests=3, 1 wallclock secs ( 0.03 usr + 0.00 sys = 0.03 CPU +) Result: PASS C:\sisyphusion\Encode-IBM-0.11>gmake install "C:\_32\strawberry-5.30.0\perl\bin\perl.exe" -MExtUtils::Command::MM - +e cp_nonem pty -- IBM.bs blib\arch\auto\Encode\IBM\IBM.bs 644 Files found in blib\arch: installing files in blib\lib into architectu +re depende nt library tree Installing C:\_32\strawberry-5.30.0\perl\site\lib\auto\Encode\IBM\IBM. +xs.dll Appending installation info to C:\_32\strawberry-5.30.0\perl\lib/perll +ocal.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.3 0.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 line 80. Prototype mismatch: sub Encode::encode_utf8 ($) vs ($;$) at C:/_64/str +awberry-va nilla-5.30.0/perl/vendor/lib/Encode/compat/common.pm line 88. require Encode::compat::common; require Encode; require Encode::Alias; require Encode::Byte; require Encode::CJKConstants; require Encode::CN; require Encode::Config; require Encode::ConfigLocal; 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... C:\sisyphusion\Encode-IBM-0.11>
        I don't think I can help further until I see the outputs of both:
        type Makefile.PL amd set PATH
        Cheers,
        Rob
        Run latest enc2xs/makemaker then see whats what

        Yeah - the OP could give that a go.
        What does it involve exactly ? That is, what's the exact command that gets run, and from which directory does one need to run it ?

        The oldest Windows perl I have is perl-5.8.8 (enc2xs-2.01) and it's building Encode-IBM-0.11 just fine apart from a million or so warnings about:
        attention : initialization discards 'const' qualifier from pointer tar +get type [enabled by default]"
        But the build succeeds, and the test suite passes ... and no bizarre warnings produced during the 'perl Makefile.PL' step.

        The oldest Strawberry Perl I have is perl-5.12.2 (enc2xs-2.07) which also builds Encode-IBM-0.11 just fine (and no warnings).
        Strawberry Perl 5.30.0 has enc2xs-2.21.
        According to the note at the beginning of the Makefile.PL (which I hadn't noticed), it was generated using enc2xs-2.05.

        Cheers,
        Rob
Re^3: enc2xs not found! at Makefile.PL
by syphilis (Archbishop) on Nov 25, 2019 at 03:54 UTC
    When I saw:
    Failed to opendir 'D:\STRAWB~1\perl\lib\CORE' to find header files: No + such file or directory at D:/Strawberry/perl/lib/ExtUtils/MM_Any.pm +line 3049.
    I should have asked you if the directory D:\STRAWB~1\perl\lib\CORE (also known as D:\strawberry\perl\lib\CORE) exists.

    I assumed it existed because it ought to exist, but maybe it has been removed.
    Does that directory exist ?
    If it does exist, then why does the opendir() call fail ?

    Line 3049 of MM_Any.pm is:
    opendir my $dh, $header_dir or die "Failed to opendir '$header_dir' to + find header files: $!";
    Yet on my Strawberry Perl 5.30.0, it all works fine:
    C:\>perl -le "opendir my $dh, 'C:\strawberry\perl\lib\CORE' or die $!; +" C:\>perl -le "opendir my $dh, 'C:\strawb~1\perl\lib\CORE' or die $!;" C:\>perl -le "opendir my $dh, 'C:\STRAWB~1\perl\lib\CORE' or die $!;" C:\>
    Cheers,
    Rob

      Thanks, Perl was OK after I have reinstalled my Strawberry from scratch... However - the workaround still fails, now in a later stage.

      D:\perl64\cpan\sources\modules\encode-3.01\Encode-3.01>gmake install gmake[1]: Entering directory 'D:/perl64/cpan/sources/modules/encode-3. +01/Encode-3.01/Byte' "D:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonemp +ty -- Byte.bs ..\blib\arch\auto\Encode\Byte\Byte.bs 644 gmake[1]: Leaving directory 'D:/perl64/cpan/sources/modules/encode-3.0 +1/Encode-3.01/Byte' gmake[1]: Entering directory 'D:/perl64/cpan/sources/modules/encode-3. +01/Encode-3.01/CN' "D:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonemp +ty -- CN.bs ..\blib\arch\auto\Encode\CN\CN.bs 644 gmake[1]: Leaving directory 'D:/perl64/cpan/sources/modules/encode-3.0 +1/Encode-3.01/CN' gmake[1]: Entering directory 'D:/perl64/cpan/sources/modules/encode-3. +01/Encode-3.01/EBCDIC' "D:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonemp +ty -- EBCDIC.bs ..\blib\arch\auto\Encode\EBCDIC\EBCDIC.bs 644 gmake[1]: Leaving directory 'D:/perl64/cpan/sources/modules/encode-3.0 +1/Encode-3.01/EBCDIC' gmake[1]: Entering directory 'D:/perl64/cpan/sources/modules/encode-3. +01/Encode-3.01/JP' "D:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonemp +ty -- JP.bs ..\blib\arch\auto\Encode\JP\JP.bs 644 gmake[1]: Leaving directory 'D:/perl64/cpan/sources/modules/encode-3.0 +1/Encode-3.01/JP' gmake[1]: Entering directory 'D:/perl64/cpan/sources/modules/encode-3. +01/Encode-3.01/KR' "D:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonemp +ty -- KR.bs ..\blib\arch\auto\Encode\KR\KR.bs 644 gmake[1]: Leaving directory 'D:/perl64/cpan/sources/modules/encode-3.0 +1/Encode-3.01/KR' gmake[1]: Entering directory 'D:/perl64/cpan/sources/modules/encode-3. +01/Encode-3.01/Symbol' "D:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonemp +ty -- Symbol.bs ..\blib\arch\auto\Encode\Symbol\Symbol.bs 644 gmake[1]: Leaving directory 'D:/perl64/cpan/sources/modules/encode-3.0 +1/Encode-3.01/Symbol' gmake[1]: Entering directory 'D:/perl64/cpan/sources/modules/encode-3. +01/Encode-3.01/TW' "D:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonemp +ty -- TW.bs ..\blib\arch\auto\Encode\TW\TW.bs 644 gmake[1]: Leaving directory 'D:/perl64/cpan/sources/modules/encode-3.0 +1/Encode-3.01/TW' gmake[1]: Entering directory 'D:/perl64/cpan/sources/modules/encode-3. +01/Encode-3.01/Unicode' "D:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonemp +ty -- Unicode.bs ..\blib\arch\auto\Encode\Unicode\Unicode.bs 644 g++ Unicode.def -o ..\blib\arch\auto\Encode\Unicode\Unicode.xs.dll -md +ll -s -L"D:\Strawberry\perl\lib\CORE" -L"D:\Strawberry\c\lib" Unicode +.o "D:\Strawberry\perl\lib\CORE\libperl530.a" -lmoldname -lkernel32 + -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 +-loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc3 +2 -lodbccp32 -lcomctl32 -Wl,--enable-auto-image-base g++: error: Unicode.o: No such file or directory gmake[1]: *** [Makefile:454: ..\blib\arch\auto\Encode\Unicode\Unicode. +xs.dll] Error 1 gmake[1]: Leaving directory 'D:/perl64/cpan/sources/modules/encode-3.0 +1/Encode-3.01/Unicode' gmake: *** [Makefile:604: subdirs] Error 2
        g++: error: Unicode.o: No such file or directory

        I don't know how that error arises.
        Encode-3.01 builds and tests fine for me on both 32-bit and 64-bit Strawberry Perl 5.30.0.
        Also, you should already have Encode-3.01 installed (in perl\vendor\lib), and there is no point installing something you already have:
        C:\>perl -MEncode -le "print $Encode::VERSION;" 3.01
        Cheers,
        Rob