-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
OpenSSL-sys build failure / Cargo MAKEFLAGS not configurable #13476
Comments
Could you provide steps to reproduce and also include the version or commit of that crate? |
@weihanglo .. You can see the code and full build failure here under the Build Tauri step. Looks to be an issue both with openssl-sys-v0.9.99 and openssl-sys-v0.9.100 versions. |
Is the issue about building openssl exhausting system resource? For However,
If the issue is inherently about using too many system resources, then either those dependencies shouldn't enable the (Note that features are additive and there is no cargo-native way to opt-out at this moment) |
Do you mind running |
@weihanglo ..
|
Great! Thanks for the reply. Now, to identify if the problem is really a resource exhaustion, you can patch the |
@weihanglo .. So that fix works and have created a PR for zstd to disable CC parallelism. Thanks for all your help ! |
Which version of cc are you using @nadenf ? I'd like to identify the cause instead of error. Latest release 1.0.86 (compared to 1.0.79) removes thread spawning in cc when parallel is enabled, it should prevent resource exhaustion and improve performance, if that's the cause of the error. |
@NobodyXu .. ZStd is using 1.0.45. I will try upgrading to 1.0.86 and leaving parallel enabled. |
I have tried with 1.086 and parallel enabled and it doesn't fix the problem. Only removing parallel entirely works. |
Hmmm I think I know the reason. Since cc >=1.0.80, we set the jobserver inherited to I will open a new ticket in cc and fix it. |
@nadenf Can you try make >= 4.4.1 please? I think make might have introduced support for non-vlocking jobserver pipe in newer version. |
@NobodyXu .. Would add that the default on a Mac is 3.81 so you're asking developers to override that with the Homebrew version. That said it doesn't work for me. |
Thanks, my proposed solution is to change rust-lang/jobserver to use a named pipe instead of an annoymous one. The named pipe is passed down by its path in filesystem and opening it using We can also retain backwards compatibility by keeping the jobserver fds inheritable and keeping them in the environment variable. E.g. |
@nadenf I tried it in my own project that updates to make 4.4.1 does fix the error. |
Problem
So we have an issue building OpenSSL-sys on Mac M1: sfackler/rust-openssl#2179
Which is likely caused by this command:
Namely that the "-j" flag for make is overloading the resources of the host.
And there doesn't seem to be a way to override this MAKEFLAGS to workaround it.
Steps
No response
Possible Solution(s)
No response
Notes
No response
Version
The text was updated successfully, but these errors were encountered: