Skip to content
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

lighthouse 2.4.0 #106928

Closed
wants to merge 2 commits into from
Closed

Conversation

chenrui333
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

@BrewTestBot BrewTestBot added bump-formula-pr PR was created using `brew bump-formula-pr` rust Rust use is a significant feature of the PR or issue labels Jul 30, 2022
@SMillerDev
Copy link
Member

    make[2]: *** [CMakeFiles/libprotobuf-lite.dir/Users/brew/Library/Caches/Homebrew/cargo_cache/registry/src/github.aaakk.us.kg-1ecc6299db9ec823/prost-build-0.10.4/third-party/protobuf/src/google/protobuf/stubs/strutil.cc.o] Error 1
    make[2]: *** Waiting for unfinished jobs....
    /Users/brew/Library/Caches/Homebrew/cargo_cache/registry/src/github.aaakk.us.kg-1ecc6299db9ec823/prost-build-0.10.4/third-party/protobuf/src/google/protobuf/stubs/strutil.cc:1255:19: error: expected unqualified-id
      } else if (std::isnan(value)) {
                      ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/math.h:165:5: note: expanded from macro 'isnan'
        ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
        ^
    /Users/brew/Library/Caches/Homebrew/cargo_cache/registry/src/github.aaakk.us.kg-1ecc6299db9ec823/prost-build-0.10.4/third-party/protobuf/src/google/protobuf/stubs/strutil.cc:1373:19: error: expected unqualified-id
      } else if (std::isnan(value)) {
                      ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/math.h:165:5: note: expanded from macro 'isnan'
        ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
        ^

@carlocab carlocab added the #include <version> The build fails because of a file called `version` in the include path. label Jul 31, 2022
@carlocab
Copy link
Member

Probably a file called VERSION (or version) somewhere in the include path that isn't a header. It breaks the build of the protobuf vendored at https://github.com/tokio-rs/prost/tree/4459a1e36a63a0e10e418b823957cc80d9fbc744/protobuf.

@carlocab carlocab added help wanted Task(s) needing PRs from the community or maintainers build failure CI fails while building the software labels Jul 31, 2022
@chenrui333 chenrui333 mentioned this pull request Jul 31, 2022
@riptl
Copy link
Contributor

riptl commented Aug 3, 2022

Will investigate this further

@carlocab
Copy link
Member

carlocab commented Aug 3, 2022

@terorie, it might help to persuade this to use Homebrew's protobuf instead of vendoring to avoid the build error.

CC @michaelsproul, since you were looking at #103752.

@carlocab carlocab added the CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. label Aug 3, 2022
@carlocab
Copy link
Member

carlocab commented Aug 3, 2022

Let's re-run without failing fast to get a better look at the error across different systems. My guess is that this should fail on every macOS runner.

@carlocab
Copy link
Member

carlocab commented Aug 3, 2022

It fails at building on ARM Big Sur too, but with a different error:

    In file included from /Users/brew/Library/Caches/Homebrew/cargo_cache/registry/src/github.aaakk.us.kg-1ecc6299db9ec823/prost-build-0.10.4/third-party/protobuf/src/google/protobuf/arenastring.cc:31:
    In file included from /Users/brew/Library/Caches/Homebrew/cargo_cache/registry/src/github.aaakk.us.kg-1ecc6299db9ec823/prost-build-0.10.4/third-party/protobuf/src/google/protobuf/arenastring.h:38:
    In file included from /Users/brew/Library/Caches/Homebrew/cargo_cache/registry/src/github.aaakk.us.kg-1ecc6299db9ec823/prost-build-0.10.4/third-party/protobuf/src/google/protobuf/stubs/logging.h:36:
    In file included from /Users/brew/Library/Caches/Homebrew/cargo_cache/registry/src/github.aaakk.us.kg-1ecc6299db9ec823/prost-build-0.10.4/third-party/protobuf/src/google/protobuf/stubs/status.h:36:
    In file included from /Users/brew/Library/Caches/Homebrew/cargo_cache/registry/src/github.aaakk.us.kg-1ecc6299db9ec823/prost-build-0.10.4/third-party/protobuf/src/google/protobuf/stubs/stringpiece.h:155:
    In file included from /Users/brew/Library/Caches/Homebrew/cargo_cache/registry/src/github.aaakk.us.kg-1ecc6299db9ec823/prost-build-0.10.4/third-party/protobuf/src/google/protobuf/stubs/hash.h:38:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk/usr/include/c++/v1/unordered_map:411:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk/usr/include/c++/v1/__hash_table:18:
    /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk/usr/include/c++/v1/cmath:321:9: error: no member named 'signbit' in the global namespace
    using ::signbit;
          ~~^
    /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk/usr/include/c++/v1/cmath:322:9: error: no member named 'fpclassify' in the global namespace
    using ::fpclassify;
          ~~^
    /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk/usr/include/c++/v1/cmath:323:9: error: no member named 'isfinite' in the global namespace
    using ::isfinite;
          ~~^
    /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk/usr/include/c++/v1/cmath:324:9: error: no member named 'isinf' in the global namespace
    using ::isinf;
          ~~^
    /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk/usr/include/c++/v1/cmath:325:9: error: no member named 'isnan' in the global namespace
    using ::isnan;
          ~~^
    /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk/usr/include/c++/v1/cmath:326:9: error: no member named 'isnormal' in the global namespace
    using ::isnormal;
          ~~^
    /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk/usr/include/c++/v1/cmath:327:7: error: no member named 'isgreater' in the global namespace; did you mean '::std::greater'?
    using ::isgreater;
          ^~
    /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk/usr/include/c++/v1/functional:738:29: note: '::std::greater' declared here
    struct _LIBCPP_TEMPLATE_VIS greater : binary_function<_Tp, _Tp, bool>
                                ^

I don't think this is an #include <version> problem.

This is usually a consequence of some sort of SDK mismatch, I think.

Avoiding vendored protobuf might be the least painful way to fix this, but we'd need some way to make sure that this is always compatible with the latest protobuf (e.g. some way to automate regenerating protoc-generated files when building).

@riptl
Copy link
Contributor

riptl commented Aug 4, 2022

I remember seeing this C++ error on an unrelated project. Related StackOverflow post: https://stackoverflow.com/questions/58628377/catalina-c-using-cmath-headers-yield-error-no-member-named-signbit-in-th

@carlocab
Copy link
Member

carlocab commented Aug 4, 2022

I remember seeing this C++ error on an unrelated project.

I've seen this error quite a lot across different formulae. I haven't quite figured out the cause, however. I believe there isn't a consistent single one. That is, many different things could lead to this particular error, so it's a bit difficult to pin down the exact cause from seeing only this.

@riptl
Copy link
Contributor

riptl commented Aug 4, 2022

PROTOC_NO_VENDOR might work, testing … https://github.com/tokio-rs/prost/blob/master/prost-build/README.md

@riptl
Copy link
Contributor

riptl commented Aug 4, 2022

@chenrui333 @carlocab fix is here:

From 84a8b59e3a759906759378f1e3027b96e80e70c8 Mon Sep 17 00:00:00 2001
From: Richard Patel <[email protected]>
Date: Thu, 4 Aug 2022 02:23:11 +0200
Subject: [PATCH] lighthouse fix

---
 Formula/lighthouse.rb | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Formula/lighthouse.rb b/Formula/lighthouse.rb
index 5b6739259d5..666cd6506ad 100644
--- a/Formula/lighthouse.rb
+++ b/Formula/lighthouse.rb
@@ -17,6 +17,8 @@ class Lighthouse < Formula
   depends_on "cmake" => :build
   depends_on "rust" => :build
 
+  depends_on "protobuf"
+
   uses_from_macos "zlib"
 
   on_linux do
@@ -24,6 +26,8 @@ class Lighthouse < Formula
   end
 
   def install
+    ENV["PROTOC_NO_VENDOR"] = "1"
+
     system "cargo", "install", *std_cargo_args(path: "./lighthouse")
   end
 
-- 
2.32.1 (Apple Git-133)

@carlocab
Copy link
Member

carlocab commented Aug 4, 2022

Great find; thanks, @terorie! I remember looking at the prost README, but I missed this one.

@BrewTestBot
Copy link
Member

🤖 A scheduled task has triggered a merge.

@chenrui333 chenrui333 mentioned this pull request Aug 25, 2022
@github-actions github-actions bot added the outdated PR was locked due to age label Sep 4, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 4, 2022
@chenrui333 chenrui333 deleted the bump-lighthouse-2.4.0 branch December 18, 2022 06:30
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
build failure CI fails while building the software bump-formula-pr PR was created using `brew bump-formula-pr` CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. help wanted Task(s) needing PRs from the community or maintainers #include <version> The build fails because of a file called `version` in the include path. outdated PR was locked due to age rust Rust use is a significant feature of the PR or issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants