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

ci: macos failing with bindings/nspr_io.h:7:10: fatal error: 'prio.h' file not found #2141

Closed
mxinden opened this issue Oct 1, 2024 · 5 comments · Fixed by #2142
Closed

Comments

@mxinden
Copy link
Collaborator

mxinden commented Oct 1, 2024

CI on MacOS is currently failing with:

bindings/nspr_io.h:7:10: fatal error: 'prio.h' file not found

See e.g. https://github.com/mozilla/neqo/actions/runs/11112117096/job/30873528067?pr=2136.

I am looking into it now.

Happening on e.g. #2136, #2093

@mxinden
Copy link
Collaborator Author

mxinden commented Oct 1, 2024

Maybe related to the fact that we are now using the homebrew NSS version?

Previously (succeeding):

System NSS is too old: 3.104

https://github.com/mozilla/neqo/actions/runs/11029596600/job/30632387433

Now (failing):

System NSS is suitable: 3.105

https://github.com/mozilla/neqo/actions/runs/11112117096/job/30873528067?pr=2136

@mxinden
Copy link
Collaborator Author

mxinden commented Oct 1, 2024

Unable to reproduce on an ARM Mac locally thus far.

@larseggert
Copy link
Collaborator

This is an NSPR header.

@mxinden
Copy link
Collaborator Author

mxinden commented Oct 1, 2024

As far as I can tell, this is what is happening:

  1. On MacOS we install NSS via brew. NSPR is installed as a dependency of NSS.
  2. We check the NSS version. Recently the brew version updated to 3.105, and is now considered valid.
  3. We would skip all the local build steps given that BUILD_NSS would be 0.
  4. We would still set NSS_DIR to a local NSS installation. Note that NSS_DIR indirectly also determines the NSPR installation location.
  5. Building neqo-crypto would fail, given that NSS_DIR would (indirectly) point to a non-existing local NSPR installation and thus imports like the one below wouldn't resolve.
    #include "prio.h"

#2142 fixes the problem.

@larseggert
Copy link
Collaborator

larseggert commented Oct 1, 2024

I think we need a new env variable to indicate that a pkg-config NSS should be used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants