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

add instructions to BUILDING.txt describing how to build on Windows

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • trunk-win
    • trunk-win
    • documentation
    • None
    • Reviewed

    Description

      Add documentation to BUILDING.txt describing dependencies and instructions for building on Windows.

      Attachments

        1. HADOOP-9347-branch-trunk-win.1.patch
          2 kB
          Chris Nauroth
        2. HADOOP-9347-branch-trunk-win.2.patch
          3 kB
          Chris Nauroth
        3. HADOOP-9347-branch-trunk-win.3.patch
          3 kB
          Chris Nauroth

        Issue Links

          Activity

            I committed the patch to branch-trunk-win.

            Thank you Chris! Thank you Arpit for the review.

            sureshms Suresh Srinivas added a comment - I committed the patch to branch-trunk-win. Thank you Chris! Thank you Arpit for the review.

            +1 for the patch. I will commit the patch shortly.

            sureshms Suresh Srinivas added a comment - +1 for the patch. I will commit the patch shortly.
            arp Arpit Agarwal added a comment -

            +1

            Thanks for addressing all the feedback.

            arp Arpit Agarwal added a comment - +1 Thanks for addressing all the feedback.
            cnauroth Chris Nauroth added a comment -

            Attaching version 3 of the patch, incorporating more great suggestions from Arpit. Thanks!

            cnauroth Chris Nauroth added a comment - Attaching version 3 of the patch, incorporating more great suggestions from Arpit. Thanks!
            arp Arpit Agarwal added a comment -
            Several tests requires that the user must have the Create Symbolic Links
            +privilege.

            Grammar nitpick - should be "Several tests require".

            Set environment variable "Platform" to "x64" or "Win32", depending on whether

            Sorry about not mentioning this earlier. Failure to set it causes a confusing error code from the C compiler that is hard to diagnose as the missing environment setting. So maybe we can make this suggestion more forceful e.g. "You must set the Platform environment variable". Also, environment variables on Windows are usually case-insensitive but Maven appears to treat them as case-sensitive, so PLATFORM or platform would not work here. It took me a while to figure out when I hit it.

            set Platform=x64

            Related to the above, just suggesting some rewording.

            • set Platform=x64 (when building on a 64-bit system)
            • set Platform=Win32 (when building on a 32-bit system)

            +1 otherwise.

            arp Arpit Agarwal added a comment - Several tests requires that the user must have the Create Symbolic Links +privilege. Grammar nitpick - should be "Several tests require". Set environment variable "Platform" to "x64" or "Win32" , depending on whether Sorry about not mentioning this earlier. Failure to set it causes a confusing error code from the C compiler that is hard to diagnose as the missing environment setting. So maybe we can make this suggestion more forceful e.g. "You must set the Platform environment variable". Also, environment variables on Windows are usually case-insensitive but Maven appears to treat them as case-sensitive, so PLATFORM or platform would not work here. It took me a while to figure out when I hit it. set Platform=x64 Related to the above, just suggesting some rewording. set Platform=x64 (when building on a 64-bit system) set Platform=Win32 (when building on a 32-bit system) +1 otherwise.
            cnauroth Chris Nauroth added a comment -

            Thanks, Arpit! These are great suggestions, so here is a new patch.

            These are no longer required for branch-trunk-win.

            We are back to requiring these since the Python scripting was rejected. We reverted the Python scripts and went back to these dependencies in HADOOP-9271. This is a temporary state. HADOOP-9082 tracks the long-term solution to cross-platform build scripting.

            I incorporated all other suggestions in the new patch. I also added a note that the source code tree itself should go into a short path.

            cnauroth Chris Nauroth added a comment - Thanks, Arpit! These are great suggestions, so here is a new patch. These are no longer required for branch-trunk-win. We are back to requiring these since the Python scripting was rejected. We reverted the Python scripts and went back to these dependencies in HADOOP-9271 . This is a temporary state. HADOOP-9082 tracks the long-term solution to cross-platform build scripting. I incorporated all other suggestions in the new patch. I also added a note that the source code tree itself should go into a short path.
            arp Arpit Agarwal added a comment -

            Thanks for writing this up!

            * Unix command-line tools from GnuWin32 or Cygwin: sh, mkdir, rm, cp, tar, gzip

            These are no longer required for branch-trunk-win.

            * Windows SDK or Visual Studio 2010

            Visual Studio 2010 Professional. You mention this below but it would be nice to make it prominent here.

            Couple of requirements we may want to mention:

            • JAVA_HOME must be set to build, and it must have no spaces in it. i.e. the Windows short path must be used for JAVA_HOME.
            • IIRC some unit tests require the current user to have the "Create Symbolic Links" privilege.
            arp Arpit Agarwal added a comment - Thanks for writing this up! * Unix command-line tools from GnuWin32 or Cygwin: sh, mkdir, rm, cp, tar, gzip These are no longer required for branch-trunk-win. * Windows SDK or Visual Studio 2010 Visual Studio 2010 Professional. You mention this below but it would be nice to make it prominent here. Couple of requirements we may want to mention: JAVA_HOME must be set to build, and it must have no spaces in it. i.e. the Windows short path must be used for JAVA_HOME. IIRC some unit tests require the current user to have the "Create Symbolic Links" privilege.

            People

              cnauroth Chris Nauroth
              cnauroth Chris Nauroth
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: