Opened 11 months ago
Closed 6 months 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 follow-up: 5 Changed 11 months ago by ryandesign (Ryan Carsten Schmidt)
comment:2 Changed 11 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 follow-up: 4 Changed 11 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:
- 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.
- to continue attempting the next host after being unable to resolve one, giving only a warning instead of a full-blown error.
- 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 follow-up: 8 Changed 11 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".
- 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?
comment:5 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)
Component: | ports → base |
---|---|
Port: | gperf removed |
Summary: | Fetching archive for gperf fails → Clarify that failure to fetch an archive is not a bug |
Type: | defect → enhancement |
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 10 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 10 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 Changed 6 months ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → duplicate |
---|---|
Status: | new → closed |
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.
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.