-
-
Notifications
You must be signed in to change notification settings - Fork 14.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
Darwin misc. fixes #17685
Darwin misc. fixes #17685
Conversation
@matthewbauer, thanks for your PR! By analyzing the annotation information on this pull request, we identified @micxjo, @vcunat and @ericbmerritt to be potential reviewers |
I also recently broke mariadb on Darwin and I don't know a good way to fix it, I'm sorry. http://hydra.nixos.org/build/38458779/nixlog/1/raw (There should be some fixed vulnerabilities in the updates.) |
@vcunat it looks like jemalloc is not being built correctly |
This is awesome. I haven't tested any of it, but really appreciate people putting work against darwin. |
If some of you who do have a Darwin access could fix it, it would be nice, as Qt is blocked by that. |
Maybe I'll get lucky now: 1c9307d. EDIT: nope, but it got much further. |
I'm looking at the |
@matthewbauer do any of these cause a mass [darwin] rebuild? What's a sensible way to test these changes? I'd like to merge wholesale but am not sure how to be responsible about it. @vcunat I think |
@copumpkin stdenv should be unaffected if that's what you mean by mass rebuild. From nox, here's what's affected on Darwin:
and this is what's affected on Linux:
It might seem weird to have so many affected on Linux but they're good improvement AFAICT. Most are from patching build scripts to use "cc" instead of "gcc". If we ever want to switch Linux from "gcc" to "clang" these changes will make things easier. |
Sounds good to me. Anyone have objections to merging? |
@copumpkin While you're merging stuff, could you also look at merging #17642 into staging or master? |
Running |
Still building |
I wonder if we could just set |
I thought we already did that. But many builds still go out of their way to
|
Okay, my linux box ran out of disk space after several hours of |
Right, we do set it. Maybe an implicit |
@dezgeg The one thing I'd warn of with that is sometime Makefiles will set CC to something weird like |
I'm running nox-review tonight on one of my beefy machines. will report back. |
Uuse -Wno-error to make clang happy.
Add -Wno-error to make clang happy. Seems impossible to keep both gcc and clang happy.
Makefile says this: Please compile using CMake on Mac OS X.
doesn't work on Darwin
- needs CoreServices
- needs libiconv in ld flags on clang
needs: - CoreServices - ApplicationServices
- Use "cc" instead of "gcc". - Add missing pthread to build.
There was a typo previously adding these in.
needs IOKit
It uses the linux-only sys/prctl.h header.
unrtf needs libiconv on Darwin. Linux has issues with the -liconv flag, but it's provided by gcc anyway.
63371a8
to
a6faa04
Compare
Hmm looks like it failed |
That one is already failing: http://hydra.nixos.org/build/38535205 |
rerunning without that one... |
weird, getting a segfault in gcc now https://gist.github.com/jb55/90e3bf2b9bfc9049285534c87780c17c |
@copumpkin Can you merge this? There may still be issues but AFAICT no new errors are introduced. |
@matthewbauer if you're sure that @jb55's gcc segfault doesn't stem from this, sure. Leaves me feeling a little uneasy to blindly merge a big lump of stuff like this with the last message being "I got a segfault in my compiler after merging this" 😄 |
The segfaulting seemed non-deterministic, I didn't have much time to look into it further :( |
Motivation for this change
These are some more fixes I've put together. Make sure they build on nox-review under Linux before merging, just in case they break something.
Things done
(nix.useChroot on NixOS,
or option
build-use-chroot
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)