[MacPorts] #70048: nghttp2 now requires C++20 which introduces a dependency cycle with clang compilers (was: openslide at 4.0.0+universal: error: The following dependencies were not installed because all of them have unmet dependencies (likely due to a dependency cycle))
MacPorts
noreply at macports.org
Tue May 21 16:28:17 UTC 2024
#70048: nghttp2 now requires C++20 which introduces a dependency cycle with clang
compilers
-------------------------------------------------+-------------------------
Reporter: conradkun | Owner: (none)
Type: defect | Status: new
Priority: High | Milestone:
Component: ports | Version: 2.9.3
Resolution: | Keywords:
Port: nghttp2 curl clang-5.0 clang-6.0 |
clang-7.0 clang-8.0 clang-9.0 clang-10 |
clang-11 clang-12 clang-13 clang-14 clang-15 |
clang-16 clang-17 clang-18 |
-------------------------------------------------+-------------------------
Changes (by ryandesign):
* priority: Normal => High
* cc: Schamschula, ryandesign (added)
* port: openslide =>
nghttp2 curl clang-5.0 clang-6.0 clang-7.0 clang-8.0 clang-9.0
clang-10 clang-11 clang-12 clang-13 clang-14 clang-15 clang-16
clang-17 clang-18
Comment:
Ok…
{{{
Error: The following dependencies were not installed because all of them
have unmet dependencies (likely due to a dependency cycle): libjpeg-turbo
tiff openjpeg gdk-pixbuf2 cmake curl nghttp2 clang-16 libomp llvm-16
libdeflate lcms2
}}}
clang-16 depends on cmake which depends on curl which depends on nghttp2
which depends on clang-16.
This was caused by the recent
[changeset:c01b6bba5f7980296914087abaf51e47ce7f39c1/macports-ports update
of nghttp2] to a version that
[changeset:ac569fd91075eb251841273f0d1a1e0f1b2629bf/macports-ports
requires C++20].
I want to enable the +http2 variant in the curl port by default wherever
possible because [ticket:65056 people want HTTP/2 support] but it requires
nghttp2. The curl port therefore only
[changeset:b944040204a0f97164809ada1205c1071e7d8436/macports-ports enables
the +http2 variant by default on systems that have a C++14 compiler]. Now
that nghttp2 requires C++20, we will have to remove +http2 support from
most macOS versions since their Xcode versions don't have C++20 compilers.
Or maybe we should switch the compilers to use cmake-bootstrap instead of
cmake to resolve the dependency cycle.
--
Ticket URL: <https://trac.macports.org/ticket/70048#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list