From 2214dab60ff11b8de74c9d661585452a078fe0c1 Mon Sep 17 00:00:00 2001 From: cnauroth Date: Thu, 26 Feb 2015 12:41:33 -0800 Subject: [PATCH] HADOOP-9922. hadoop windows native build will fail in 32 bit machine. Contributed by Kiran Kumar M R. --- .../hadoop-common/CHANGES.txt | 3 + .../hadoop-common/src/main/native/native.sln | 8 +-- .../src/main/native/native.vcxproj | 40 ++++++++++++ .../src/main/winutils/include/winutils.h | 5 +- .../src/main/winutils/libwinutils.c | 2 +- .../src/main/winutils/libwinutils.vcxproj | 64 ++++++++++++++++++- .../hadoop-common/src/main/winutils/service.c | 8 +-- .../hadoop-common/src/main/winutils/task.c | 2 +- .../src/main/winutils/winutils.sln | 10 +++ .../src/main/winutils/winutils.vcxproj | 61 +++++++++++++++++- 10 files changed, 189 insertions(+), 14 deletions(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index ca2746362b..1d9a6d405e 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -1010,6 +1010,9 @@ Release 2.7.0 - UNRELEASED HADOOP-11629. WASB filesystem should not start BandwidthGaugeUpdater if fs.azure.skip.metrics set to true. (Shanyu Zhao via cnauroth) + HADOOP-9922. hadoop windows native build will fail in 32 bit machine. + (Kiran Kumar M R via cnauroth) + Release 2.6.1 - UNRELEASED INCOMPATIBLE CHANGES diff --git a/hadoop-common-project/hadoop-common/src/main/native/native.sln b/hadoop-common-project/hadoop-common/src/main/native/native.sln index 40a78215d7..54bc17e37b 100644 --- a/hadoop-common-project/hadoop-common/src/main/native/native.sln +++ b/hadoop-common-project/hadoop-common/src/main/native/native.sln @@ -31,14 +31,14 @@ Global GlobalSection(ProjectConfigurationPlatforms) = postSolution {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|Mixed Platforms.ActiveCfg = Release|x64 {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|Mixed Platforms.Build.0 = Release|x64 - {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|Win32.ActiveCfg = Release|x64 - {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|Win32.Build.0 = Release|x64 + {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|Win32.ActiveCfg = Release|Win32 + {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|Win32.Build.0 = Release|Win32 {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|x64.ActiveCfg = Release|x64 {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Debug|x64.Build.0 = Release|x64 {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|Mixed Platforms.ActiveCfg = Release|x64 {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|Mixed Platforms.Build.0 = Release|x64 - {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|Win32.ActiveCfg = Release|x64 - {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|Win32.Build.0 = Release|x64 + {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|Win32.ActiveCfg = Release|Win32 + {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|Win32.Build.0 = Release|Win32 {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|x64.ActiveCfg = Release|x64 {4C0C12D2-3CB0-47F8-BCD0-55BD5732DFA7}.Release|x64.Build.0 = Release|x64 EndGlobalSection diff --git a/hadoop-common-project/hadoop-common/src/main/native/native.vcxproj b/hadoop-common-project/hadoop-common/src/main/native/native.vcxproj index 2d60e562bc..0912c6ab29 100644 --- a/hadoop-common-project/hadoop-common/src/main/native/native.vcxproj +++ b/hadoop-common-project/hadoop-common/src/main/native/native.vcxproj @@ -19,6 +19,10 @@ + + Release + Win32 + Release x64 @@ -30,6 +34,12 @@ native + + DynamicLibrary + false + true + Unicode + DynamicLibrary false @@ -39,10 +49,19 @@ + + + + + false + ..\..\..\target\bin\ + ..\..\..\target\native\$(Configuration)\ + hadoop + false ..\..\..\target\bin\ @@ -65,6 +84,27 @@ Text="Required snappy library could not be found. SnappyLibrary=$(SnappyLibrary), SnappyInclude=$(SnappyInclude), CustomSnappyLib=$(CustomSnappyLib), CustomSnappyInclude=$(CustomSnappyInclude), CustomSnappyPrefix=$(CustomSnappyPrefix)" Condition="'$(RequireSnappy)' == 'true' And '$(SnappyEnabled)' != 'true'" /> + + + Level3 + NotUsing + MaxSpeed + true + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;NATIVE_EXPORTS;%(PreprocessorDefinitions) + ..\winutils\include;..\..\..\target\native\javah;%JAVA_HOME%\include;%JAVA_HOME%\include\win32;.\src;%(AdditionalIncludeDirectories) + CompileAsC + 4244 + + + Windows + true + true + true + Ws2_32.lib;libwinutils.lib;%(AdditionalDependencies) + ..\..\..\target\bin;%(AdditionalLibraryDirectories) + + Level3 diff --git a/hadoop-common-project/hadoop-common/src/main/winutils/include/winutils.h b/hadoop-common-project/hadoop-common/src/main/winutils/include/winutils.h index 0ac9adb83b..f72802c6d0 100644 --- a/hadoop-common-project/hadoop-common/src/main/winutils/include/winutils.h +++ b/hadoop-common-project/hadoop-common/src/main/winutils/include/winutils.h @@ -248,8 +248,9 @@ DWORD BuildServiceSecurityDescriptor( __out PSECURITY_DESCRIPTOR* pSD); DWORD AddNodeManagerAndUserACEsToObject( - __in HANDLE hProcess, - __in LPWSTR user); + __in HANDLE hObject, + __in LPWSTR user, + __in ACCESS_MASK accessMask); DWORD GetSecureJobObjectName( diff --git a/hadoop-common-project/hadoop-common/src/main/winutils/libwinutils.c b/hadoop-common-project/hadoop-common/src/main/winutils/libwinutils.c index 5e775df016..98fe3ab81e 100644 --- a/hadoop-common-project/hadoop-common/src/main/winutils/libwinutils.c +++ b/hadoop-common-project/hadoop-common/src/main/winutils/libwinutils.c @@ -2788,7 +2788,7 @@ DWORD BuildServiceSecurityDescriptor( __out PSECURITY_DESCRIPTOR* pSD) { DWORD dwError = ERROR_SUCCESS; - int crt = 0; + unsigned int crt = 0; int len = 0; EXPLICIT_ACCESS* eas = NULL; LPWSTR lpszSD = NULL; diff --git a/hadoop-common-project/hadoop-common/src/main/winutils/libwinutils.vcxproj b/hadoop-common-project/hadoop-common/src/main/winutils/libwinutils.vcxproj index 37b7f31200..3c958e0331 100644 --- a/hadoop-common-project/hadoop-common/src/main/winutils/libwinutils.vcxproj +++ b/hadoop-common-project/hadoop-common/src/main/winutils/libwinutils.vcxproj @@ -19,10 +19,18 @@ + + Debug + Win32 + Debug x64 + + Release + Win32 + Release x64 @@ -39,21 +47,38 @@ true Unicode + + StaticLibrary + true + Unicode + StaticLibrary false true Unicode + + StaticLibrary + false + true + Unicode + + + + + + + include;$(IncludePath) @@ -61,9 +86,15 @@ true + + true + false + + false + @@ -77,6 +108,19 @@ true + + + + + Level4 + Disabled + WIN32;_DEBUG;_UNICODE;UNICODE;WSCE_CONFIG_DIR=$(WsceConfigDir);WSCE_CONFIG_FILE=$(WsceConfigFile);%(PreprocessorDefinitions) + + + Console + true + + Level3 @@ -95,13 +139,31 @@ true + + + Level3 + + + + Disabled + true + true + WIN32;NDEBUG;_UNICODE;UNICODE;WSCE_CONFIG_DIR=$(WsceConfigDir);WSCE_CONFIG_FILE=$(WsceConfigFile);%(PreprocessorDefinitions) + + + Console + true + true + true + + $(IntermediateOutputPath) true - X64 + $(Platform) $(IntermediateOutputPath) true true diff --git a/hadoop-common-project/hadoop-common/src/main/winutils/service.c b/hadoop-common-project/hadoop-common/src/main/winutils/service.c index a0f8a66c6a..ba35003771 100644 --- a/hadoop-common-project/hadoop-common/src/main/winutils/service.c +++ b/hadoop-common-project/hadoop-common/src/main/winutils/service.c @@ -182,7 +182,7 @@ BOOL IsSidInList( __in size_t cAllowedSids, __in_ecount(cAllowedSids) PSID* allowedSids) { - int crtSid = 0; + size_t crtSid = 0; for (crtSid = 0; crtSid < cAllowedSids; ++crtSid) { if (EqualSid(trustee, allowedSids[crtSid])) { @@ -206,7 +206,7 @@ DWORD ValidateConfigurationFile() { BOOL daclPresent = FALSE; BOOL daclDefaulted = FALSE; PACL pDacl = NULL; - int crt = 0, crtSid = 0; + unsigned int crt = 0, crtSid = 0; WELL_KNOWN_SID_TYPE allowedSidTypes[] = { WinLocalSystemSid, WinBuiltinAdministratorsSid}; @@ -350,7 +350,7 @@ DWORD InitLocalDirs() { DWORD dwError = ERROR_SUCCESS; size_t len = 0; LPCWSTR value = NULL; - int crt = 0; + size_t crt = 0; dwError = GetConfigValue( @@ -396,7 +396,7 @@ done: DWORD ValidateLocalPath(LPCWSTR lpszPath) { DWORD dwError = ERROR_SUCCESS; int compareResult = 0; - int crt = 0; + unsigned int crt = 0; int cchLocalBuffer = 0; WCHAR localBuffer[MAX_PATH+1]; BOOLEAN nullFound = FALSE; diff --git a/hadoop-common-project/hadoop-common/src/main/winutils/task.c b/hadoop-common-project/hadoop-common/src/main/winutils/task.c index bfdbd63710..21b1893953 100644 --- a/hadoop-common-project/hadoop-common/src/main/winutils/task.c +++ b/hadoop-common-project/hadoop-common/src/main/winutils/task.c @@ -129,7 +129,7 @@ DWORD BuildImpersonateSecurityDescriptor(__out PSECURITY_DESCRIPTOR* ppSD) { WCHAR** tokens = NULL; size_t len = 0; size_t count = 0; - int crt = 0; + size_t crt = 0; PSECURITY_DESCRIPTOR pSD = NULL; dwError = GetConfigValue(wsceConfigRelativePath, NM_WSCE_IMPERSONATE_ALLOWED, &len, &value); diff --git a/hadoop-common-project/hadoop-common/src/main/winutils/winutils.sln b/hadoop-common-project/hadoop-common/src/main/winutils/winutils.sln index d2784b8f47..876e66de7b 100644 --- a/hadoop-common-project/hadoop-common/src/main/winutils/winutils.sln +++ b/hadoop-common-project/hadoop-common/src/main/winutils/winutils.sln @@ -26,16 +26,26 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libwinutils", "libwinutils. EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D94B3BD7-39CC-47A0-AE9A-353FDE506F33}.Debug|Win32.ActiveCfg = Release|Win32 + {D94B3BD7-39CC-47A0-AE9A-353FDE506F33}.Debug|Win32.Build.0 = Release|Win32 {D94B3BD7-39CC-47A0-AE9A-353FDE506F33}.Debug|x64.ActiveCfg = Release|x64 {D94B3BD7-39CC-47A0-AE9A-353FDE506F33}.Debug|x64.Build.0 = Release|x64 + {D94B3BD7-39CC-47A0-AE9A-353FDE506F33}.Release|Win32.ActiveCfg = Release|Win32 + {D94B3BD7-39CC-47A0-AE9A-353FDE506F33}.Release|Win32.Build.0 = Release|Win32 {D94B3BD7-39CC-47A0-AE9A-353FDE506F33}.Release|x64.ActiveCfg = Release|x64 {D94B3BD7-39CC-47A0-AE9A-353FDE506F33}.Release|x64.Build.0 = Release|x64 + {12131AA7-902E-4A6D-9CE3-043261D22A12}.Debug|Win32.ActiveCfg = Release|Win32 + {12131AA7-902E-4A6D-9CE3-043261D22A12}.Debug|Win32.Build.0 = Release|Win32 {12131AA7-902E-4A6D-9CE3-043261D22A12}.Debug|x64.ActiveCfg = Release|x64 {12131AA7-902E-4A6D-9CE3-043261D22A12}.Debug|x64.Build.0 = Release|x64 + {12131AA7-902E-4A6D-9CE3-043261D22A12}.Release|Win32.ActiveCfg = Release|Win32 + {12131AA7-902E-4A6D-9CE3-043261D22A12}.Release|Win32.Build.0 = Release|Win32 {12131AA7-902E-4A6D-9CE3-043261D22A12}.Release|x64.ActiveCfg = Release|x64 {12131AA7-902E-4A6D-9CE3-043261D22A12}.Release|x64.Build.0 = Release|x64 EndGlobalSection diff --git a/hadoop-common-project/hadoop-common/src/main/winutils/winutils.vcxproj b/hadoop-common-project/hadoop-common/src/main/winutils/winutils.vcxproj index d7360849d0..9ecba0a87a 100644 --- a/hadoop-common-project/hadoop-common/src/main/winutils/winutils.vcxproj +++ b/hadoop-common-project/hadoop-common/src/main/winutils/winutils.vcxproj @@ -19,10 +19,18 @@ + + Debug + Win32 + Debug x64 + + Release + Win32 + Release x64 @@ -39,6 +47,11 @@ true Unicode + + Application + true + Unicode + Application false @@ -46,14 +59,26 @@ Unicode + + Application + false + true + Unicode + + + + + + + include;$(IncludePath) @@ -61,6 +86,9 @@ false + + false + @@ -74,6 +102,19 @@ true + + + + + Level4 + Disabled + WIN32;_CONSOLE;_DEBUG;_UNICODE;UNICODE;WSCE_CONFIG_DIR=$(WsceConfigDir);WSCE_CONFIG_FILE=$(WsceConfigFile);%(PreprocessorDefinitions) + + + Console + true + + Level3 @@ -92,6 +133,24 @@ true + + + Level3 + + + + Disabled + true + true + WIN32;_CONSOLE;NDEBUG;_UNICODE;UNICODE;WSCE_CONFIG_DIR=$(WsceConfigDir);WSCE_CONFIG_FILE=$(WsceConfigFile);%(PreprocessorDefinitions) + + + Console + true + true + true + + $(IntermediateOutputPath) @@ -103,7 +162,7 @@ true - X64 + $(Platform) $(IntermediateOutputPath) true true