skeeto / w64devkit

Portable C and C++ Development Kit for x64 (and x86) Windows
The Unlicense
2.7k stars 186 forks source link

CHECKSUM of expat-2.4.8.tar.xz failed. #24

Closed rmancusi closed 1 year ago

rmancusi commented 1 year ago

I need some help resolving the following during my build of 1.16.1. Apparently the checksum check for expat-2.4.8.tar.xz failed.

[ 5/67] RUN sha256sum -c /w64devkit/src/SHA256SUMS && tar xJf binutils-2.39.tar.xz && tar xzf busybox-w32-FRP-4716-g31467ddfc.tgz && tar xzf universal-ctags_0+git20200824.orig.tar.gz && tar xJf gcc-12.2.0.tar.xz && tar xJf gdb-11.1.tar.xz && tar xJf expat-2.4.8.tar.xz && tar xJf gmp-6.2.1.tar.xz && tar xzf mpc-1.2.1.tar.gz && tar xJf mpfr-4.1.0.tar.xz && tar xzf make-4.2.tar.gz && tar xjf mingw-w64-v10.0.0.tar.bz2 && tar xJf nasm-2.15.05.tar.xz && tar xjf vim-9.0.tar.bz2 && tar xzf cppcheck-2.8.tar.gz:

10 0.481 binutils-2.39.tar.xz: OK

10 0.499 busybox-w32-FRP-4716-g31467ddfc.tgz: OK

10 0.516 cppcheck-2.8.tar.gz: OK

10 0.516 expat-2.4.8.tar.xz: FAILED

10 0.859 gcc-12.2.0.tar.xz: OK

10 0.951 gdb-11.1.tar.xz: OK

10 0.960 gmp-6.2.1.tar.xz: OK

10 0.969 make-4.2.tar.gz: OK

10 1.009 mingw-w64-v10.0.0.tar.bz2: OK

10 1.013 mpc-1.2.1.tar.gz: OK

10 1.020 mpfr-4.1.0.tar.xz: OK

10 1.025 nasm-2.15.05.tar.xz: OK

10 1.033 universal-ctags_0+git20200824.orig.tar.gz: OK

10 1.092 vim-9.0.tar.bz2: OK

10 1.092 sha256sum: WARNING: 1 computed checksum did NOT match

skeeto commented 1 year ago

I just downloaded it manually and the checksum is fine, so nothing changed on the server side. Perhaps there was a temporary network or server issue and you got a bad download, i.e. the ".tar.xz" might be an HTML page. You can "docker run --rm" on the image ID at that layer then "docker cp" out the bad tarball to have a closer look. To retry the download you will need to discard or ignore the bad image cache with "prune", "rmi" on the bad image ID, or even "build --no-cache".

If it persists, maybe it's a local network issue, such as fossies.org being blocked by middleware, though curl ultimately believed the download was successful, i.e. it got a "200 OK" and ran to completion. In that case running curl manually or inspecting the downloaded tarball per above may reveal the issue. The URL is near the beginning of the Dockerfile.

In the very worst case if you cannot download one of the URLs for whatever reason, you can grab the "source.tar" from the "Releases" and change the Dockerfile "RUN curl" into a "COPY" instruction, bypassing the need to download the source tarballs. It still needs to download Debian packages (i.e. the bootstrap compiler), but you already succeeded at that part.

rmancusi commented 1 year ago

Thanks for your hints. I had been using the "build --no-cache" command. So I skipped to the last option that you provided and got it to build.

Not terribly sure what happened. I'm working on a Windows11 machine, but that wouldn't have much to do with a network issue.

This can be closed, again with thanks.