GauthamBanasandra commented on code in PR #8844: URL: https://github.com/apache/hadoop/pull/8844#discussion_r4426617820
########## dev-support/docker/Dockerfile_windows_10: ########## @@ -50,54 +50,56 @@ RUN powershell Copy-Item -Recurse -Path 'C:\Program Files\Git' -Destination C:\G RUN powershell git clone https://github.com/microsoft/vcpkg.git \ && cd vcpkg \ && git fetch --all \ - && git checkout 2025.03.19 \ + && git checkout 2026.07.29 \ && .\bootstrap-vcpkg.bat ADD vcpkg/vcpkg.json . RUN powershell .\vcpkg\vcpkg.exe install --x-install-root .\vcpkg\installed -# Install Azul Java 8 JDK. -RUN powershell Invoke-WebRequest -URI https://cdn.azul.com/zulu/bin/zulu8.62.0.19-ca-jdk8.0.332-win_x64.zip -OutFile $Env:TEMP\zulu8.62.0.19-ca-jdk8.0.332-win_x64.zip -RUN powershell Expand-Archive -Path $Env:TEMP\zulu8.62.0.19-ca-jdk8.0.332-win_x64.zip -DestinationPath "C:\Java" +# Install Microsoft Build of OpenJDK 17. +RUN powershell Invoke-WebRequest -URI https://aka.ms/download-jdk/microsoft-jdk-17.0.20.1-windows-x64.msi -OutFile C:\jdk17.msi +RUN powershell Start-Process msiexec.exe -ArgumentList '/i','C:\jdk17.msi','INSTALLDIR=C:\Java\jdk17\','/quiet','/norestart' -Wait +RUN powershell if (-not (Test-Path 'C:\Java\jdk17\bin\javac.exe')) { throw 'JDK 17 installation failed' } +RUN powershell Remove-Item C:\jdk17.msi -Force # Install Apache Maven. RUN powershell Invoke-WebRequest -URI https://archive.apache.org/dist/maven/maven-3/3.9.15/binaries/apache-maven-3.9.15-bin.zip -OutFile $Env:TEMP\apache-maven-3.9.15-bin.zip RUN powershell Expand-Archive -Path $Env:TEMP\apache-maven-3.9.15-bin.zip -DestinationPath "C:\Maven" -# Install CMake 3.19.0. -RUN powershell Invoke-WebRequest -URI https://cmake.org/files/v3.19/cmake-3.19.0-win64-x64.zip -OutFile $Env:TEMP\cmake-3.19.0-win64-x64.zip -RUN powershell Expand-Archive -Path $Env:TEMP\cmake-3.19.0-win64-x64.zip -DestinationPath "C:\CMake" +# Install CMake 3.30.2. +RUN powershell Invoke-WebRequest -URI https://cmake.org/files/v3.30/cmake-3.30.2-windows-x86_64.zip -OutFile $Env:TEMP\cmake-3.30.2-windows-x86_64.zip +RUN powershell Expand-Archive -Path $Env:TEMP\cmake-3.30.2-windows-x86_64.zip -DestinationPath "C:\CMake" # Install zstd 1.5.4. RUN powershell Invoke-WebRequest -Uri https://github.com/facebook/zstd/releases/download/v1.5.4/zstd-v1.5.4-win64.zip -OutFile $Env:TEMP\zstd-v1.5.4-win64.zip RUN powershell Expand-Archive -Path $Env:TEMP\zstd-v1.5.4-win64.zip -DestinationPath "C:\ZStd" RUN setx PATH "%PATH%;C:\ZStd" -# Install libopenssl 3.5.2-1 needed for rsync 3.2.7. +# Install libopenssl 3.5.2-1 needed for rsync 3.5.1. RUN powershell Invoke-WebRequest -Uri https://repo.msys2.org/msys/x86_64/libopenssl-3.5.2-1-x86_64.pkg.tar.zst -OutFile $Env:TEMP\libopenssl-3.5.2-1-x86_64.pkg.tar.zst RUN powershell zstd -d $Env:TEMP\libopenssl-3.5.2-1-x86_64.pkg.tar.zst -o $Env:TEMP\libopenssl-3.5.2-1-x86_64.pkg.tar RUN powershell mkdir "C:\LibOpenSSL" RUN powershell tar -xvf $Env:TEMP\libopenssl-3.5.2-1-x86_64.pkg.tar -C "C:\LibOpenSSL" -# Install libxxhash 0.8.3 needed for rsync 3.2.7. +# Install libxxhash 0.8.3 needed for rsync 3.5.1. RUN powershell Invoke-WebRequest -Uri https://repo.msys2.org/msys/x86_64/libxxhash-0.8.3-1-x86_64.pkg.tar.zst -OutFile $Env:TEMP\libxxhash-0.8.3-1-x86_64.pkg.tar.zst RUN powershell zstd -d $Env:TEMP\libxxhash-0.8.3-1-x86_64.pkg.tar.zst -o $Env:TEMP\libxxhash-0.8.3-1-x86_64.pkg.tar RUN powershell mkdir "C:\LibXXHash" RUN powershell tar -xvf $Env:TEMP\libxxhash-0.8.3-1-x86_64.pkg.tar -C "C:\LibXXHash" -# Install libzstd 1.5.4 needed for rsync 3.2.7. -RUN powershell Invoke-WebRequest -Uri https://repo.msys2.org/msys/x86_64/libzstd-1.5.5-1-x86_64.pkg.tar.zst -OutFile $Env:TEMP\libzstd-1.5.5-1-x86_64.pkg.tar.zst -RUN powershell zstd -d $Env:TEMP\libzstd-1.5.5-1-x86_64.pkg.tar.zst -o $Env:TEMP\libzstd-1.5.5-1-x86_64.pkg.tar +# Install libzstd 1.5.7 needed for rsync 3.5.1. +RUN powershell Invoke-WebRequest -Uri https://repo.msys2.org/msys/x86_64/libzstd-1.5.7-1-x86_64.pkg.tar.zst -OutFile $Env:TEMP\libzstd-1.5.7-1-x86_64.pkg.tar.zst Review Comment: Thanks for the review @pan3793. You're right about HADOOP-19855, and it's already on trunk beneath this branch — there's no zstd left in any CMakeLists.txt, config.h.cmake or pom other than `zstd-jni`, and nothing consumes `-Drequire.zstd` any more. This PR doesn't re-add it: no zstd in `vcpkg.json`, and the mvn command in BUILDING.txt only passes `-Drequire.openssl -Drequire.test.libhadoop`. This line is a different thing though — it's the MSYS2 `libzstd` package, which ships just `/usr/bin/msys-zstd-1.dll` and is a declared runtime dependency of MSYS2's `rsync.exe` (packages.msys2.org lists rsync 3.5.1-2's deps as libiconv, libidn2, liblz4, libopenssl, libxxhash, libzstd, popt). Line 105 copies it next to `rsync.exe` for that reason, and `create-release` depends on rsync working. The separate `C:\ZStd` CLI has to stay too: `zstd -d` unpacks all four `.pkg.tar.zst` archives, including libopenssl and libxxhash, which aren't zstd-related at all. These lines are only in the diff because repo.msys2.org serves only the current version of each package, so trunk's pinned URLs now 404 and the image can't build at all. I've added a comment at the zstd step noting it's an unpacking tool rather than the codec, to make this less confusing next time. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
