-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
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
monosat: Fix Linux build #63827
monosat: Fix Linux build #63827
Conversation
Ah, the Python package ( |
And maybe the Darwin/Linux closure size difference is because the Darwin build doesn't |
@GrahamcOfBorg build monosat python37Packages.monosat |
Thanks! I'll try to test this over the weekend |
ced56c8
to
03fa2bb
Compare
Can we disable static builds and just have it shared? |
I don't think that's straightforward to do. I think there would need to be changes made upstream to provide separate shared/static builds. I've made an issue on the monosat repo asking about this. |
I've made a PR on the monosat repo to add an option to do a dynamically linked build only. If that gets merged I should be able to use that option for the Nix package. Would it not make sense to have that as a separate PR from this, since this is just fixing a currently broken build, whereas removing the static build is more of an improvement? |
Your patch seems fine @acairncross. Can we use sambayless/monosat#24 downstream here? |
Also, just for clarity, the build fails because it needs static libraries, which isn't really something we should curate in nixpkgs unless it's for the |
fea98dd
to
26c7cbd
Compare
My patch was merged upstream so I've bumped up the version here to use it. Is that ok? |
The diff looks, umm... Huge? You should upgrade it to the beta release have that in your commit message
and apply that patch on top of it. As you're the only (and new) maintainer of this I'm fine deferring to you as to what's acceptable. Though I will mention, the preferred practice would be to make a derivative of the patch upstream to apply to this version... but as stated 😄 |
Edit: it appears the commit is in the 1.8.0 tag sambayless/monosat@033ac0f |
26c7cbd
to
a4f4f7b
Compare
Definitely a huge diff, although I think the majority of it is from applying a code formatter!
Ah, ok! Anyway, I've bumped it to 1.8.0 (and done a bit of commit squashing). |
a4f4f7b
to
e994ca2
Compare
This fixes the broken Linux build by only building the dynamic library/ executable (an option that was only added in the latest tagged version).
e994ca2
to
15dbd8d
Compare
Thanks @acairncross for the fix and the patience ✨ . |
Motivation for this change
The Linux build was broken because the CMake build process for this package builds both static and shared libraries, but the static library dependencies weren't being provided. For some reason this doesn't seem to be a problem for the Darwin build:
Linux: https://hydra.nixos.org/job/nixpkgs/trunk/monosat.x86_64-linux
Darwin: https://hydra.nixos.org/job/nixpkgs/trunk/monosat.x86_64-darwin
The closure size seems large compared to the Darwin build. Is this normal?
/nix/store/1n2vwa7hc2wr882szg8s4dcajqc46m5b-monosat-09yhym2 511.3M
I'm not sure how to build the accompanying Python package.@copumpkin
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)