Opened 5 months ago

Closed 5 days ago

#68869 closed enhancement (duplicate)

Clarify that failure to fetch an archive is not a bug

Reported by: ThoAppelsin (Utkan Gezer) Owned by:
Priority: Normal Milestone:
Component: base Version:
Keywords: Cc:
Port:

Description

I am trying to install mpv as prebuilt binary, but MacPorts fails miserably. mpv apparently depends on gperf, which cannot be fetched for some reason. To shorten the output, here's the output when I try to install gperf itself:

utkan@Utkans-MacBook-Air ~ % sudo port install -b gperf
--->  Fetching archive for gperf
--->  Attempting to fetch gperf-3.1_0.darwin_23.arm64.tbz2 from https://packages.macports.org/gperf
--->  Attempting to fetch gperf-3.1_0.darwin_23.arm64.tbz2 from https://fra.de.packages.macports.org/gperf
--->  Attempting to fetch gperf-3.1_0.darwin_23.arm64.tbz2 from http://fco.it.packages.macports.org/gperf
--->  Attempting to fetch gperf-3.1_0.darwin_23.arm64.tbz2 from https://nue.de.packages.macports.org/gperf
--->  Attempting to fetch gperf-3.1_0.darwin_23.arm64.tbz2 from https://mse.uk.packages.macports.org/gperf
--->  Attempting to fetch gperf-3.1_0.darwin_23.arm64.tbz2 from https://cph.dk.packages.macports.org/gperf
--->  Attempting to fetch gperf-3.1_0.darwin_23.arm64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/gperf
--->  Attempting to fetch gperf-3.1_0.darwin_23.arm64.tbz2 from http://mirror.fcix.net/macports/packages/gperf
--->  Attempting to fetch gperf-3.1_0.darwin_23.arm64.tbz2 from https://jnb.za.packages.macports.org/packages/gperf
--->  Attempting to fetch gperf-3.1_0.darwin_23.arm64.tbz2 from http://jog.id.packages.macports.org/macports/packages/gperf
--->  Attempting to fetch gperf-3.1_0.darwin_23.arm64.tbz2 from https://kmq.jp.packages.macports.org/gperf
--->  Attempting to fetch gperf-3.1_0.darwin_23.arm64.tbz2 from https://pek.cn.packages.macports.org/macports/packages/gperf
--->  Attempting to fetch gperf-3.1_0.darwin_23.arm64.tbz2 from http://atl.us.packages.macports.org/gperf
--->  Attempting to fetch gperf-3.1_0.darwin_23.arm64.tbz2 from https://ema.uk.packages.macports.org/gperf
Error: Failed to archivefetch gperf: version @3.1_0: Could not resolve host: ema.uk.packages.macports.org
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_gperf/gperf/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port gperf failed

Typing these addresses to my browser, I can reach them all (except, indeed, the last one). But why is it even proceeding with the others when the first one is already ok?

Change History (8)

comment:1 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)

Not a bug, in that we don't have archives for any port for Darwin 23 for arm64 yet.

Allow MacPorts to build it from source by not specifying -b. If that fails, attach the main.log file.

comment:2 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)

The mirror servers sync at different times so an archive may be available on one server but not another. MacPorts tries to find an archive on three different servers before giving up and building from source unless you specify -b in which case it tries all of them and does not fall back to building from source.

comment:3 Changed 5 months ago by ThoAppelsin (Utkan Gezer)

I understand now, thank you. But (and I believe that it's still on topic) the messages presented by MacPorts is definitely not giving me this information, making such inquiries a necessary/sensible next step. I would expect MacPorts:

  1. to indicate that it couldn't find a pre-built binary at the end of each attempt. This could be as simple as "... pre-built binary not found" at the end of each line.
  2. to continue attempting the next host after being unable to resolve one, giving only a warning instead of a full-blown error.
  3. after finishing all the attempts, if all failed one way or another, to give an error with a summary. This could be as simple as "Error: Pre-built binary not found. 16 hosts attempted. Failed to find pre-built binary at 15 hosts. Failed to reach 1 host."

Slightly off-topic: Is ema.uk.packages.macports.org down for good or is there only a temporary problem?

comment:4 in reply to:  3 ; Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to ThoAppelsin:

But (and I believe that it's still on topic) the messages presented by MacPorts is definitely not giving me this information, making such inquiries a necessary/sensible next step.

I agree that the output MacPorts display is less clear than it could be. We constantly get bug reports from people misreporting the reason for a failed installation as a missing binary archive, when binary archives are meant to be merely a convenience, and their absence is not considered a bug. I'm sure I have pointed this out numerous times and there may be a ticket about it, I don't remember. It could be as simple, as you say, as one summary line after failing to fetch archives. I don't think it needs to say how many hosts were attempted or failed since that's self-evident from the preceding lines, especially if we add some "not found" indication to each line as you suggested. I suggest the summary might say something like either "Pre-built archive not found; building from source" or "Error: Pre-built archive not found; not building from source because binary-only mode was requested".

  1. to continue attempting the next host after being unable to resolve one, giving only a warning instead of a full-blown error.

MacPorts did continue to try all archive servers. It only presented an error after the last one, rather than trying a build from source, because you asked for it to do so by using the -b flag.

Slightly off-topic: Is ema.uk.packages.macports.org down for good or is there only a temporary problem?

#68576

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

Component: portsbase
Port: gperf removed
Summary: Fetching archive for gperf failsClarify that failure to fetch an archive is not a bug
Type: defectenhancement

Replying to ryandesign:

Not a bug, in that we don't have archives for any port for Darwin 23 for arm64 yet.

This is now fixed; see #69048.

comment:6 Changed 4 months ago by ThoAppelsin (Utkan Gezer)

That is great news! I can already see a lot of ports as prebuilt binaries now, just when I finally was in real need. Did that really happen through just the work of a single Mac Mini? Well then, it would save a lot of computation power if there were 10 such machines instead, but I guess I'm not ready to donate one myself so... thank you!

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

We have one Apple Silicon Mac mini that is rebooted between now macOS 12, 13, and 14 to build archives. Since we've only just begun to build for macOS 14 on arm64, it will probably be months before we complete the build of the over 38,000 ports in the collection, but the most frequently-depended-upon ports will naturally tend to get built first as they occur as dependencies of other builds.

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

Resolution: duplicate
Status: newclosed

Replying to ryandesign:

I'm sure I have pointed this out numerous times and there may be a ticket about it, I don't remember.

It's #60756.

Note: See TracTickets for help on using tickets.