-
-
Notifications
You must be signed in to change notification settings - Fork 14.9k
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
libredirect: fix build with clang 16 #243558
Conversation
* Preferentially use the stdenv clang if it is new enough to produce arm64e binaries; and * Fix incompatible function pointer conversions (results in an error with clang 16).
This LGTM based on observing the code and some fiddling around locally. I unfortunately can't test this end-to-end on my aarch64-darwin machine, because the libredirect that I build doesn't work (either on master or staging-next), perhaps because I'm on Ventura. If you're curious, the error is:
|
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.
LGTM if we change the branch to staging due to the number of rebuilds.
Whoa, that error only happens with SIP disabled. |
Result of 119 packages marked as broken and skipped:
38 packages failed to build:
207 packages built:
|
I retargeted to staging because of the number of Linux rebuilds. |
Does it also happen without the patch? That is a weird error. |
Result of 119 packages marked as broken and skipped:
47 packages failed to build:
197 packages built:
|
Checking some of the failures against master on aarch64-darwin:
|
For x86_64-darwin, borgbackup and diffoscope are failing due to e2fsprogs. That failure should be fixed in staging with the stdenv rework and CF updates. |
Yeah, it happens without the patch too. Something to worry about for another day. |
That means it’s not a regression. 🤓 |
@@ -139,7 +139,7 @@ WRAPPER_DEF(open64) | |||
|
|||
WRAPPER(int, openat)(int dirfd, const char * path, int flags, ...) | |||
{ | |||
int (*openat_real) (int, const char *, int, mode_t) = LOOKUP_REAL(openat); | |||
int (*openat_real) (int, const char *, int, ...) = LOOKUP_REAL(openat); |
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.
Eh, I expect someone was looking at Linux docs instead of POSIX. I'm prone to doing that mistake, too.
Description of changes
Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)