[
https://issues.apache.org/jira/browse/HADOOP-11691?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14363008#comment-14363008
]
Kiran Kumar M R commented on HADOOP-11691:
------------------------------------------
[~chuanliu] you can check and confirm the patch.
Order of include files will matter. patch-002 has Win8SDK include in the end.
{code}
<IncludePath>$(IncludePath);$(Windows8SDK_IncludePath);</IncludePath>
{code}
So {{SetInformationJobObject}} may be still referring to Win7SDK API. There
are no compilation errors.
If I reverse the order i.e
{code}
<IncludePath>$(Windows8SDK_IncludePath);$(IncludePath);</IncludePath>
{code}
Compilation is fine.
But libwinutils.vcxproj and winutils.vcxproj are using different include and
idl files
libwinutils build using idl files of Win7SDK
{code}
C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\midl.exe /W2 /WX /nologo
/char signed /env win32 /Oicf /app_config
/out"D:\Hadoop\hadoop-common-project\hadoop-common\target/winutils/" /h
"hadoopwinutilsvc_h.h" /tlb
"D:\Hadoop\hadoop-common-project\hadoop-common\target/winutils/libwinutils.tlb"
/robust hadoopwinutilsvc.idl
Processing .\hadoopwinutilsvc.idl
hadoopwinutilsvc.idl
Processing C:\Program Files\Microsoft SDKs\Windows\v7.1\\include\oaidl.idl
oaidl.idl
Processing C:\Program Files\Microsoft SDKs\Windows\v7.1\\include\objidl.idl
objidl.idl
Processing C:\Program Files\Microsoft SDKs\Windows\v7.1\\include\unknwn.idl
unknwn.idl
Processing C:\Program Files\Microsoft SDKs\Windows\v7.1\\include\wtypes.idl
wtypes.idl
Processing C:\Program Files\Microsoft SDKs\Windows\v7.1\\include\basetsd.h
basetsd.h
Processing C:\Program Files\Microsoft SDKs\Windows\v7.1\\include\guiddef.h
guiddef.h
Processing C:\Program Files\Microsoft SDKs\Windows\v7.1\\include\ocidl.idl
ocidl.idl
Processing C:\Program Files\Microsoft SDKs\Windows\v7.1\\include\oleidl.idl
oleidl.idl
Processing C:\Program Files\Microsoft SDKs\Windows\v7.1\\include\servprov.idl
servprov.idl
Processing C:\Program Files\Microsoft SDKs\Windows\v7.1\\include\urlmon.idl
urlmon.idl
Processing C:\Program Files\Microsoft SDKs\Windows\v7.1\\include\msxml.idl
msxml.idl
Processing C:\Program Files\Microsoft SDKs\Windows\v7.1\\include\oaidl.acf
oaidl.acf
Processing C:\Program Files\Microsoft SDKs\Windows\v7.1\\include\ocidl.acf
ocidl.acf
{code}
winutils build using idl files of win8 sdk
{code}
C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\midl.exe /W2 /WX /nologo
/char signed /env win32 /Oicf /app_config
/out"D:\Hadoop\hadoop-common-project\hadoop-common\target/winutils/" /h
"hadoopwinutilsvc_h.h" /tlb
"D:\Hadoop\hadoop-common-project\hadoop-common\target/winutils/winutils.tlb"
/robust hadoopwinutilsvc.idl
Processing .\hadoopwinutilsvc.idl
hadoopwinutilsvc.idl
Processing C:\Program Files\Windows Kits\8.1\Include\um\oaidl.idl
oaidl.idl
Processing C:\Program Files\Windows Kits\8.1\Include\um\objidl.idl
objidl.idl
Processing C:\Program Files\Windows Kits\8.1\Include\um\unknwn.idl
unknwn.idl
Processing C:\Program Files\Windows Kits\8.1\Include\shared\wtypes.idl
wtypes.idl
Processing C:\Program Files\Windows Kits\8.1\Include\shared\wtypesbase.idl
wtypesbase.idl
Processing C:\Program Files\Windows Kits\8.1\Include\shared\basetsd.h
basetsd.h
Processing C:\Program Files\Windows Kits\8.1\Include\shared\guiddef.h
guiddef.h
Processing C:\Program Files\Windows Kits\8.1\Include\um\ocidl.idl
ocidl.idl
Processing C:\Program Files\Windows Kits\8.1\Include\um\oleidl.idl
oleidl.idl
Processing C:\Program Files\Windows Kits\8.1\Include\um\servprov.idl
servprov.idl
Processing C:\Program Files\Windows Kits\8.1\Include\um\urlmon.idl
urlmon.idl
Processing C:\Program Files\Windows Kits\8.1\Include\um\msxml.idl
msxml.idl
Processing C:\Program Files\Windows Kits\8.1\Include\um\oaidl.acf
oaidl.acf
Processing C:\Program Files\Windows Kits\8.1\Include\um\ocidl.acf
{code}
So I am doubtful of this as IDL files of both SDK have differences.
May be {{task.c}} needs some change to force {{SetInformationJobObject}} from
Win8 API usage. Please check
> X86 build of libwinutils is broken
> ----------------------------------
>
> Key: HADOOP-11691
> URL: https://issues.apache.org/jira/browse/HADOOP-11691
> Project: Hadoop Common
> Issue Type: Bug
> Components: build, native
> Affects Versions: 3.0.0
> Reporter: Remus Rusanu
> Assignee: Kiran Kumar M R
> Attachments: HADOOP-11691-001.patch, HADOOP-11691-002.patch
>
>
> Hadoop-9922 recently fixed x86 build. After YARN-2190 compiling x86 results
> in error:
> {code}
> (Link target) ->
>
> E:\HW\project\hadoop-common\hadoop-common-project\hadoop-common\target/winutils/hadoopwinutilsvc_s.obj
> : fatal error LNK1112: module machine type 'x64' conflicts with target
> machine type 'X86'
> [E:\HW\project\hadoop-common\hadoop-common-project\hadoop-common\src\main\winutils\winutils.vcxproj]
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)