Subject: | Unable to install Text::Ngram CPAN module |
Date: | Wed, 15 Jun 2016 09:14:05 -0700 |
To: | bug-Text-Ngram [...] rt.cpan.org |
From: | Paul Martin <abc [...] apple.io> |
Hello,
Firstly thank you for this incredibly useful module. Unfortunately, a
failed build step is preventing me from installing it, perhaps the
resolution has been documented.
Perl version:
perl 5, version 20, subversion 3 (v5.20.3) built for
MSWin32-x64-multi-thread
OS:
Microsoft Windows [Version 10.0.10586]
I have both MSYS2 and Visual Studio installed. CPANM detects Visual
Studio's nmake.exe and uses this, even when I explicitly point it to
MSYS2's GNU make.exe in MyConfig.pm. I only mention this because I
wonder if the build would work using the GNU toolchain rather than MS,
but haven't been able to get this working (apologies for by ignorance here).
The error preventing the installation is as follows:
Ngram.obj : fatal error LNK1112: module machine type 'X86' conflicts
with target machine type 'x64'
I have included the full build log below. Any guidance would be appreciated.
cpanm (App::cpanminus) 1.7042 on perl 5.020003 built for
MSWin32-x64-multi-thread
Work directory is C:\Users\User/.cpanm/work/1466006964.7340
You have make "C:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\BIN\nmake.exe"
You have C:\msys64\usr\bin\wget.exe
Falling back to Archive::Tar 2.08
Searching Text::Ngram () on cpanmetadb ...
--> Working on Text::Ngram
Fetching
http://www.cpan.org/authors/id/A/AM/AMBS/Text/Text-Ngram-0.15.tar.gz
-> OK
Unpacking Text-Ngram-0.15.tar.gz
Entering Text-Ngram-0.15
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (6.98)
Configuring Text-Ngram-0.15
Running Makefile.PL
Checking if your kit is complete...
Looks good
Generating a nmake-style Makefile
Writing Makefile for Text::Ngram
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.98)
Checking if you have Unicode::CaseFold 1.00 ... Yes (1.00)
Building and testing Text-Ngram-0.15
Microsoft (R) Program Maintenance Utility Version 14.00.23918.0
Copyright (C) Microsoft Corporation. All rights reserved.
cp lib/Text/Ngram.pm blib\lib\Text\Ngram.pm
Running Mkbootstrap for Text::Ngram ()
C:\EnterpriseDB\LanguagePack\9.5\x64\Perl-5.20\bin\perl.exe
-MExtUtils::Command -e chmod -- 644 Ngram.bs
C:\EnterpriseDB\LanguagePack\9.5\x64\Perl-5.20\bin\perl.exe
C:\EnterpriseDB\LanguagePack\9.5\x64\Perl-5.20\lib\ExtUtils\xsubpp
-typemap
C:\EnterpriseDB\LanguagePack\9.5\x64\Perl-5.20\lib\ExtUtils\typemap
Ngram.xs > Ngram.xsc &&
C:\EnterpriseDB\LanguagePack\9.5\x64\Perl-5.20\bin\perl.exe
-MExtUtils::Command -e mv -- Ngram.xsc Ngram.c
cl -c -I. -nologo -GF -W3 -O1 -MD -Zi -DNDEBUG -GL -fp:precise
-DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE
-DUSE_SITECUSTOMIZE -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT
-DPERL_IMPLICIT_SYS -DUSE_PERLIO -O1 -MD -Zi -DNDEBUG -GL -fp:precise
-DVERSION=\"0.15\" -DXS_VERSION=\"0.15\"
"-IC:\EnterpriseDB\LanguagePack\9.5\x64\Perl-5.20\lib\CORE" Ngram.c
Ngram.c
C:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\INCLUDE\stdbool.h(15): warning C4005: 'bool': macro redefinition
c:\enterprisedb\languagepack\9.5\x64\perl-5.20\lib\core\handy.h(116):
note: see previous definition of 'bool'
C:\EnterpriseDB\LanguagePack\9.5\x64\Perl-5.20\bin\perl.exe
-MExtUtils::Mksymlists -e "Mksymlists('NAME'=>\"Text::Ngram\", 'DLBASE'
=> 'Ngram', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { },
'DL_VARS' => []);"
link -out:blib\arch\auto\Text\Ngram\Ngram.dll -dll -nologo
-nodefaultlib -debug -opt:ref,icf -ltcg
-libpath:"C:\EnterpriseDB\LanguagePack\9.5\x64\Perl-5.20\lib\CORE"
-machine:AMD64 "/manifestdependency:type='Win32'
name='Microsoft.Windows.Common-Controls' version='6.0.0.0'
processorArchitecture='*' publicKeyToken='6595b64144ccf1df'
language='*'" Ngram.obj
C:\EnterpriseDB\LanguagePack\9.5\x64\Perl-5.20\lib\CORE\perl520.lib
oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib
ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib
comctl32.lib msvcrt.lib -def:Ngram.def
Ngram.obj : fatal error LNK1112: module machine type 'X86' conflicts
with target machine type 'x64'
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
Studio 14.0\VC\BIN\link.EXE"' : return code '0x458'
Stop.
-> FAIL Installing Text::Ngram failed. See
C:\Users\User\.cpanm\work\1466006964.7340\build.log for details. Retry
with --force to force install it.
(end)