Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.4.0
-
Windows 10
Description
The winutils, libwinutils and native project structures are currently defined in .vcxproj and .sln files. For building on Windows, a key parameter is the PlatformToolsetVersion. This gets added by the build system by running dev-support/bin/win-vs-upgrade.cmd. This essentially runs the following command to detect the PlatformToolsetVersion of the currently installed Visual Studio and uses the same for compilation - https://github.com/apache/hadoop/blob/c60a900583d6a8d0494980f4bbbf4f95438b741b/dev-support/bin/win-vs-upgrade.cmd#L38
devenv %%f /upgrade
However, when building with Dockerfile_windows_10, only Visual Studio 2019 Build Tools are available (and not the full IDE). The Visual Studio 2019 Build Tools distribution doesn't contain devenv and thus, the above command fails to run stating that it couldn't find devenv.
To fix this issue, we need the ability to specify the PlatformToolsetVersion as a Maven option, at which point the win-vs-upgrade.cmd won't run and would use the speicified PlatformToolsetVersion against MSBuild.
Attachments
Issue Links
- is a child of
-
HADOOP-17193 Compile Hadoop on Windows natively
- Open
- links to