[
https://issues.apache.org/jira/browse/HADOOP-18428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gautham Banasandra updated HADOOP-18428:
----------------------------------------
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|https://github.com/apache/hadoop/blob/c60a900583d6a8d0494980f4bbbf4f95438b741b/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
{code}
devenv %%f /upgrade
{code}
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.
was:
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|https://github.com/apache/hadoop/blob/c60a900583d6a8d0494980f4bbbf4f95438b741b/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
{code}
devenv %%f /upgrade
{code}
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.
> Parameterize platform toolset version
> -------------------------------------
>
> Key: HADOOP-18428
> URL: https://issues.apache.org/jira/browse/HADOOP-18428
> Project: Hadoop Common
> Issue Type: Bug
> Components: common
> Affects Versions: 3.4.0
> Environment: Windows 10
> Reporter: Gautham Banasandra
> Assignee: Gautham Banasandra
> Priority: Major
>
> 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|https://github.com/apache/hadoop/blob/c60a900583d6a8d0494980f4bbbf4f95438b741b/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
> {code}
> devenv %%f /upgrade
> {code}
> 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.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]