Opened 2 weeks ago

Closed 2 weeks ago

Last modified 2 weeks ago

#71161 closed defect (fixed)

gpsd @3.25: checksum mismatch due to HTML file

Reported by: Geoff160 Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.10.2
Keywords: Cc: fhgwright (Fred Wright), michaelld (Michael Dickens)
Port: gpsd

Description

Tried to install gpsd, had to skip checksum because it would fail. With checksum disabled, it appears to be failing when it attempts to change into the gpsd directory with a "No SConstruct file found". I've attached the mail.log.

Attachments (1)

main.log (57.8 KB) - added by Geoff160 2 weeks ago.
gpsd log file

Download all attachments as: .zip

Change History (9)

Changed 2 weeks ago by Geoff160

Attachment: main.log added

gpsd log file

comment:1 in reply to:  description Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)

Cc: fhgwright michaelld added
Keywords: gpsd removed
Owner: set to ryandesign
Status: newaccepted
Summary: aarch64 gpsd Failed to build gpsd: command execution failedgpsd @3.25: checksum mismatch due to HTML file

Replying to Geoff160:

Tried to install gpsd, had to skip checksum because it would fail. With checksum disabled, it appears to be failing when it attempts to change into the gpsd directory with a "No SConstruct file found". I've attached the mail.log.

If you had to disable checksum checking, then the file you're getting is not the file we verified this port to work with, so all bets are off. You should not be in the habit of disabling checksum checking.

Let's focus on why you're getting a file where the checksums don't match.

Your log doesn't show where you downloaded the faulty file from.

When I try on my system, I find at least one mirror delivering a faulty file:

% sudo port fetch --no-mirrors
Password:
--->  Fetching distfiles for gpsd
--->  Attempting to fetch gpsd-3.25.tar.gz from http://nongnu.freemirror.org/nongnu/gpsd
% sudo port checksum gpsd
--->  Fetching distfiles for gpsd
--->  Verifying checksums for gpsd
Error: Checksum (rmd160) mismatch for gpsd-3.25.tar.gz
Error: Checksum (sha256) mismatch for gpsd-3.25.tar.gz
Error: Checksum (size) mismatch for gpsd-3.25.tar.gz
***
The non-matching file appears to be HTML. See this page for possible reasons
for the checksum mismatch:
<https://trac.macports.org/wiki/MisbehavingServers>
***
The file has been moved to: /opt/local/var/macports/distfiles/gpsd/gpsd-3.25.tar.gz.html
Error: Failed to checksum gpsd: Unable to verify file checksums
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_gpsd/gpsd/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port gpsd failed

This mirror's domain name appears to have expired and all URLs at the domain name are delivering a page explaining that.

I'll check the other servers in this mirror group and remove the ones that don't work anymore.

comment:2 Changed 2 weeks ago by Geoff160

Keywords: gpsd added
Summary: gpsd @3.25: checksum mismatch due to HTML fileaarch64 gpsd Failed to build gpsd: command execution failed

Reported to the gpsd gitlab here.

comment:3 Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)

Keywords: gpsd removed
Summary: aarch64 gpsd Failed to build gpsd: command execution failedgpsd @3.25: checksum mismatch due to HTML file

It's our bug, not theirs.

comment:4 in reply to:  3 ; Changed 2 weeks ago by Geoff160

Replying to ryandesign:

It's our bug, not theirs.

Thanks for the help Ryan. Yes, I see that now, I had submitted it before you responded about the bad mirror. Is there a way to specify which repo to pull packages from on install? (New to ports, longtime yum/dnf/rpm user on Linux so it's similar to what I'm used to, but also not).

comment:5 Changed 2 weeks ago by fhgwright (Fred Wright)

I ran into a similar problem a couple of days ago with another port. I got around it by just doing a port clean --dist <port> and trying again.

comment:6 Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: acceptedclosed

In 11bddcb282eaac4fc76ad234c019fa9d84173cab/macports-ports (master, sept):

mirror_sites.tcl: Update nongnu mirrors list

Remove mirrors whose domains don't resolve or have expired.

Closes: #71161

comment:7 in reply to:  4 ; Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)

Replying to Geoff160:

Is there a way to specify which repo to pull packages from on install?

So, this is a source code distfile download that you're having a problem with, not a precompiled package archive.

First, MacPorts tries to download a precompiled archive. None are available for any port for macOS 15 on arm64 because I haven't set up that build machine yet. So next MacPorts downloads the source and tries to build that.

For both archives and distfiles, MacPorts tries servers in order of what we think will be fastest for you, based on ping time. You can override that choice by filling in the preferred_hosts entry in macports.conf. You can also specify servers that you don't want MacPorts to contact at all by filling in host_blacklist.

However, if you are doing that because of a server MacPorts tried that didn't work properly, we would prefer that you report the problem to us so that we can fix it for everyone.

It can take a couple hours for changes to sync from the GitHub repository out to the mirror servers, so wait a couple hours and then run sudo port sync to receive the fix, then try installing gpsd again.

comment:8 in reply to:  7 Changed 2 weeks ago by Geoff160

Replying to ryandesign:

Replying to Geoff160:

Is there a way to specify which repo to pull packages from on install?

So, this is a source code distfile download that you're having a problem with, not a precompiled package archive.

First, MacPorts tries to download a precompiled archive. None are available for any port for macOS 15 on arm64 because I haven't set up that build machine yet. So next MacPorts downloads the source and tries to build that.

For both archives and distfiles, MacPorts tries servers in order of what we think will be fastest for you, based on ping time. You can override that choice by filling in the preferred_hosts entry in macports.conf. You can also specify servers that you don't want MacPorts to contact at all by filling in host_blacklist.

However, if you are doing that because of a server MacPorts tried that didn't work properly, we would prefer that you report the problem to us so that we can fix it for everyone.

It can take a couple hours for changes to sync from the GitHub repository out to the mirror servers, so wait a couple hours and then run sudo port sync to receive the fix, then try installing gpsd again.

Thanks so much! This makes sense. I wondered why it was building locally, but didn't dig into it. Thanks again for the quick fix and the information.

Note: See TracTickets for help on using tickets.