[MacPorts] #70481: curl again pulls in a dependency on a newer gcc compiler, which makes bootstrapping problematic (was: curl again pulls in a dependency on C++11 compiler, which makes bootstrapping problematic)

MacPorts noreply at macports.org
Fri Aug 2 22:03:54 UTC 2024


#70481: curl again pulls in a dependency on a newer gcc compiler, which makes
bootstrapping problematic
----------------------------+------------------------
  Reporter:  barracuda156   |      Owner:  ryandesign
      Type:  defect         |     Status:  assigned
  Priority:  Normal         |  Milestone:
 Component:  ports          |    Version:  2.9.3
Resolution:                 |   Keywords:  powerpc
      Port:  curl, nghttp2  |
----------------------------+------------------------
Changes (by ryandesign):

 * cc: Schamschula (added)
 * keywords:   => powerpc
 * port:  curl => curl, nghttp2


Comment:

 As you may remember, there is a long history of this issue.

 First, it was [ticket:65056 requested that we enable http2 support by
 default in curl] so I [changeset:e1ed418961c5919aacfeb582bb0baa2d74243a8f
 /macports-ports deleted the http2 variant and made http2 support always-
 on]. This depended on nghttp2 which declared that it required C++14 which
 required newer compilers on older systems which presented problems for
 bootstrapping so I [changeset:b944040204a0f97164809ada1205c1071e7d8436
 /macports-ports reinstated the http2 variant and enabled it only on
 systems that come with a C++14 compiler].

 Later, a new version of
 [changeset:ac569fd91075eb251841273f0d1a1e0f1b2629bf/macports-ports nghttp2
 increased its C++ requirement to C++20] so I
 [changeset:b2f8c96f9ce0a9ead308bf2f93bd36b58c72ba46/macports-ports changed
 curl to only enable http2 for systems with a C++20 compiler]. Then I found
 that nghttp2 does not actually use C++ at all. The
 [changeset:3b3f9b3912f47e8b74a7ca7c6f47032a6f044e6c/macports-ports nghttp2
 port was fixed to only require C++20 for the nghttp2-tools subport]. We
 were then free to [changeset:65784cb779b059baae47a00f107e012be432a632
 /macports-ports remove curl's http2 variant again and enable http2 for all
 systems again].

 Then, last month, [changeset:e7e065e6d9cc40398416ee1052d13fd76e59a095
 /macports-ports nghttp2 was changed to blacklist gcc 4.0 and 4.2].
 This—not a C++11 requirement—is why it wants to use a newer compiler on
 your old system. If you can figure out how to fix nghttp2 so that it can
 once again build using gcc 4.0 and 4.2, then the problem will go away.

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


More information about the macports-tickets mailing list