Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#62218 closed defect (fixed)

netperf @2.7.0: checksum mismatch

Reported by: hpux735 (William Dillon) Owned by: grimreaper (Eitan Adler)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port: netperf

Description

--->  Fetching archive for netperf
--->  Attempting to fetch netperf-2.7.0_1.darwin_20.arm64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/netperf
--->  Attempting to fetch netperf-2.7.0_1.darwin_20.arm64.tbz2 from https://kmq.jp.packages.macports.org/netperf
--->  Attempting to fetch netperf-2.7.0_1.darwin_20.arm64.tbz2 from https://mse.uk.packages.macports.org/netperf
--->  Verifying checksums for netperf
Error: Checksum (rmd160) mismatch for netperf-2.7.0.tar.gz
Error: Checksum (sha256) mismatch for netperf-2.7.0.tar.gz
Error: Checksum (size) mismatch for netperf-2.7.0.tar.gz
Error: Failed to checksum netperf: Unable to verify file checksums

The contents of those urls includes a tarball archive with ppc, 32-bit intel and 64-bit intel entries. Because arm64 doesn't exist, trying to get netperf-2.7.0_1.darwin_20.arm64.tbz2 returns a 404.

Incidentally, if you download the x86_64 version, the binaries run fine under rosetta

Change History (5)

comment:1 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: arm64 removed
Owner: set to grimreaper
Status: newassigned
Summary: Netperf arm64 tarball doesn't existnetperf @2.7.0: checksum mismatch

It is not necessarily a bug when packages don't exist. When that is the case, MacPorts builds from source. If that fails, that's a bug. In your case, you've found that the checksums don't match, so we need to investigate why that is and fix it.

comment:2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign added

In this case, there is no difference in the content of the tarball we mirrored in 2018 and the one available from GitHub today, however there is a difference in the enclosing dictectory name. The file we mirrored in 2018 has an enclosing directory name netperf-netperf-2.7.0 and the one available from GitHub today has an enclosing directory name HewlettPackard-netperf-f46c031.

In [b88ae2fe8a89f10d7548dcd5798c667cc8c19768/macports-ports] the port's master_sites were switched from ftp.netperf.org to GitHub to fix #55803. As a result of this, we mirrored the file in 2018.

The problem was introduced by [6935f6ab1cf8b99c9ca0cdaa2f8d03a5566b4e73/macports-ports] in which the master_sites referring to GitHub archives was removed. This effectively changed which file the port downloads (from "archive" type to "tarball" type) thereby changing the cbecksums of the file. (This commit also removed a comment I had added explaining that this line should be removed with the next version update. This commit was not a version update, therefore the line should not have been removed at that time.)

I recommend adding github.tarball_from archive, which is the current equivalent of what the port had been specifying manually before by overriding master_sites. I'll make this change momentarily.

Version 0, edited 4 years ago by ryandesign (Ryan Carsten Schmidt) (next)

comment:3 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

In 1a40503c6a4418466ef5ec32c61c173d18cff946/macports-ports (master):

netperf: Fix checksum mismatch

Closes: #62218

comment:4 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

The port still will not build with Xcode 12 or later due to implicit declaration of functions. That's a separate matter to be addressed in #62219.

comment:5 in reply to:  2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Note: See TracTickets for help on using tickets.