-
-
Notifications
You must be signed in to change notification settings - Fork 12.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libnghttp2 nghttp2 1.62.1 #171634
base: master
Are you sure you want to change the base?
libnghttp2 nghttp2 1.62.1 #171634
Conversation
cff6848
to
7fbc4a3
Compare
7fbc4a3
to
cbb965b
Compare
cbb965b
to
4752856
Compare
4752856
to
85d2e35
Compare
85d2e35
to
7d65796
Compare
7d65796
to
28ae32c
Compare
28ae32c
to
38d2e0c
Compare
38d2e0c
to
58af4f4
Compare
58af4f4
to
c3367f7
Compare
Upstream issue for GCC11 build failure on Linux - nghttp2/nghttp2#2194 I'm not sure that I have the correct combination of Missing runtime dependency in latest linux CI run
|
Formula/n/nghttp2.rb
Outdated
|
||
on_linux do | ||
fails_with gcc: "5" | ||
depends_on "gcc@13" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the test failure is because we're mixing different compiler versions between libnghttp2
and nghttp2
.
But either of them failing with the host compiler is a huge problem. CC @Homebrew/core for thoughts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding a dependency with libnghttp2
would have massive effects on the dependency tree of homebrew-core as a whole so wouldn't really be acceptable without discussion.
There may also concern even for older Clang. If libnghttp2
is broken on older Clang, we must drop support for macOS 10.11 in Homebrew/brew.
However, it seems like libnghttp2
might be ok though which is interesting. Are we only hitting the issue with the nghttp2
executables? That's less of an issue and generally should work OK even though libnghttp2
use an older GCC.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's less of an issue and generally should work OK even though
libnghttp2
use an older GCC.
I'd have thought we'd be ok using a newer GCC only for nghttp2
and not libnghttp2
, but the test
block disagrees, unfortunately.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's less of an issue and generally should work OK even though
libnghttp2
use an older GCC.I'd have thought we'd be ok using a newer GCC only for
nghttp2
and notlibnghttp2
, but thetest
block disagrees, unfortunately.
Can try adding Formula["gcc@13"].opt_lib/"gcc/13"
to RPATH
. Not sure if it will precede #{HOMEBREW_PREFIX}/lib/gcc/current
(otherwise may have some extra missing linkage reports whenever brew gcc
is installed on CI).
EDIT: Though we may want to wait for upstream response if they will support GCC 11 given it is commonly used in LTS distros.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding a dependency with
libnghttp2
would have massive effects on the dependency tree of homebrew-core as a whole so wouldn't really be acceptable without discussion.
Is this just on Linux?
If
libnghttp2
is broken on older Clang, we must drop support for macOS 10.11 in Homebrew/brew.
Why is that, can you elaborate?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd have thought we'd be ok using a newer GCC only for
nghttp2
and notlibnghttp2
, but thetest
block disagrees, unfortunately.
libnghttp2
shouldn't be using C++:
Compiling libnghttp2 C source code requires a C99 compiler. gcc 4.8 is known to be adequate. In order to compile the C++ source code, C++20 compliant compiler is required. At least g++ >= 1.12 and clang++ >= 1.15 are known to work.
Is this just on Linux?
Why is that, can you elaborate?
Because it's a dependency for curl, and we require brewed curl on older macOS.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, compiling nghttp2
(and not libnghttp2
) with Homebrew gcc
should just work. It'll fail the Linux-only GCC dependency audit, though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because it's a dependency for curl, and we require brewed curl on older macOS.
Gotcha, thanks. Yeh, I think it'd either be: drop it as a dependency, drop it as a dependency on old macOS versions (dangerous with no CI coverage) or drop those macOS versions.
It'll fail the Linux-only GCC dependency audit, though.
Seems like a good case to opt-out of.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's see if using gcc
does indeed work before we add an audit opt-out... dbded26
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, that works. Homebrew/brew#17384
sha256 "c4bcf5cf73d5305fc479206676027533bb06d4ff2840eb672f6265ba3239031e" | ||
end | ||
on_macos do | ||
depends_on "llvm" => :build if DevelopmentTools.clang_build_version <= 1400 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What macOs version does this correspond to?
Formula/n/nghttp2.rb
Outdated
|
||
on_linux do | ||
fails_with gcc: "5" | ||
depends_on "gcc@13" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding a dependency with
libnghttp2
would have massive effects on the dependency tree of homebrew-core as a whole so wouldn't really be acceptable without discussion.
Is this just on Linux?
If
libnghttp2
is broken on older Clang, we must drop support for macOS 10.11 in Homebrew/brew.
Why is that, can you elaborate?
nghttp2: use C++20 nghttp2: remove linux patch
c3367f7
to
dbded26
Compare
Needed for Homebrew/homebrew-core#171634 due to nghttp2/nghttp2#2194. I've avoided adding an allowlist for now because I really don't want to see this list grow.
HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew test <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingHOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>
)? If this is a new formula, does it passbrew audit --new <formula>
?