[MacPorts] #58934: 'stack' port does not build solely from a MacPorts mirror

MacPorts noreply at macports.org
Wed Sep 25 00:11:23 UTC 2019


#58934: 'stack' port does not build solely from a MacPorts mirror
-----------------------+-----------------------
  Reporter:  greyhare  |      Owner:  essandess
      Type:  defect    |     Status:  assigned
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.5.4
Resolution:            |   Keywords:
      Port:  stack     |
-----------------------+-----------------------
Changes (by ryandesign):

 * cc: ryandesign (added)


Comment:

 Replying to [comment:4 greyhare]:
 > I'm not entirely sure what the "MacPorts buildbot mirrored pandoc
 binary" is. If you're referring to the prebuilt binary packages sometimes
 available that MacPorts will install instead of downloading source
 tarballs and running the whole build process for a port, it doesn't even
 look for binaries of `pandoc` before deciding it must have `stack` as a
 dependency, and doesn't look for binaries of `stack` either:
 >
 > {{{
 > $ sudo port install pandoc
 > --->  Computing dependencies for pandoc
 > The following dependencies will be installed:  stack
 > Continue? [Y/n]:
 > --->  Building stack
 > Error: Failed to build stack: command execution failed
 > Error: See
 /opt/local/var/macports/logs/_opt_local_var_macports_sources_mirror.arlut.utexas.edu_macports_release_lang_stack/stack/main.log
 for details.
 > Error: Problem while installing stack
 > Error: Follow https://guide.macports.org/#project.tickets to report a
 bug.
 > Error: processing of port pandoc failed
 > }}}
 >
 > As for my mirror, it has a binary
 `stack-2.1.3_0+bootstrap.darwin_18.x86_64.tbz2` (2019-08-25, 7.92MB) in
 `/macports/packages/stack/` and `pandoc-2.7.3_0.darwin_18.x86_64.tbz2`
 (2019-08-26, 11 MB) in `/macports/packages/pandoc/`.
 >
 > After doing a `sudo port clean pandoc stack`, then `sudo port install
 pandoc` again tells me I need `stack` as a dependency, then I get the
 error messages in my original report.
 >
 > It seems to be ignoring our mirror entirely: there's no attempt to fetch
 the binary from `http://mirror.arlut.utexas.edu/macports/packages/stack`
 despite `url http://mirror.arlut.utexas.edu/macports/packages/` being set
 in my `/opt/local/etc/macports/archive_sites.conf`.

 I'm pleased to hear ARLUT is using MacPorts! You may already know that UT
 provides an official MacPorts mirror at
 http://aus.us.packages.macports.org/macports/ (that's an alias for
 http://marmot.tn.utexas.edu/macports/).

 Your transcript above shows an unclean build attempt for stack: the first
 phase shown in the output is the build phase; all the earlier phases,
 including trying to fetch binary archives, were skipped because they were
 completed on a previous attempt. If you want MacPorts to try again to get
 a binary for stack, it should do so if you first run `sudo port clean
 stack`. You say above that you did run that, and that it still failed, and
 I see that in the main.log you attached.

 Your log shows that MacPorts tried to get the binary from three different
 servers and failed on each of them. The reason why it failed was "Could
 not resolve host". This is not surprising since you're on an isolated
 network, but MacPorts doesn't know that and it doesn't distinguish between
 different types of failures. After three failed attempts, MacPorts gives
 up, assuming the binary is not available anywhere, and tries to build from
 source.

 What is surprising though is that your ARLUT mirror server was not
 contacted first. MacPorts tries to reach the best server first, which is
 determined as the one with the lowest ping time. Is your server configured
 to respond to pings? If not, that would explain it, and if ping support
 can be enabled, that should fix it. If ping responses cannot be enabled on
 the server, then MacPorts will consider the server to have a very high
 ping time and will try it last.

 Two changes to your settings will help alleviate that. First, you can set
 `preferred_hosts mirror.arlut.utexas.edu` in macports.conf. This overrides
 the ping time checks. Second, you can edit `host_blacklist` in
 macports.conf to specify hosts that should never be contacted. For example
 you might set `host_blacklist *distfiles.macports.org
 *packages.macports.org`—I think that setting should prevent MacPorts from
 trying to contact any of our official servers.

 Is stack the only affected port? If MacPorts isn't checking for binaries
 of any other ports on your server either, then check what you've entered
 in archive_sites.conf. You mentioned entering the URL prefixed with `url`
 but the prefix should be `urls`, and you'll need a `name` entry before
 that.

-- 
Ticket URL: <https://trac.macports.org/ticket/58934#comment:6>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list