[ 
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]

Reply via email to