Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-18428

Parameterize platform toolset version

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.4.0
    • 3.4.0
    • common
    • Windows 10

    • Reviewed

    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

          Activity

            People

              gaurava Gautham Banasandra
              gaurava Gautham Banasandra
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: