-
Notifications
You must be signed in to change notification settings - Fork 557
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
[MibS] add a build script for coin-or/Mibs #3139
Conversation
Failures
|
Well well! That took a while but not as long as I expected. |
did you write the patch yourself or was it provided / recommended in one of the components? |
I wrote the patch. The memory change is just commented out because I guess it uses some glibc stuff that doesn't work with musl. I didn't investigate further. It's optional, and not enabled for Mac or Windows. The type cast should be upstreamed (job for @HesamShaelaie?). |
Honestly I'm not a big fan of bundling multiple packages together, I prefer more granularity to maximise reusability, especially, as you noted, if these libraries are going to be dependencies of something else |
I can understand for SYMPHONY. For the others, I am not sure there will be demand for reuse in other JLLs, they seem fairly specific. |
Maybe @tkralphs can chime in here: are there any other projects that would benefit from SYMPHONY (or CHiPPS) as a separate library? If not, the dependencies are all on specific commits (not tags), and we intend to change them sometime this summer, so releasing everything separately is going to make things a bit harder. I'd prefer to keep as-is. |
Other question: since this is a new package, is there any hope we can make it require Julia v1.6? It'd make adding more platforms later much easier. |
Yes, we could make this Julia 1.6+ |
The short answer is that yes, these should definitely all be packaged separately.
Of course, the audience for these things is not likely to be big, but not having them packaged separately would end up making life difficult for at least a few people, including me, so I'm willing to put some effort into it. In general, all the projects in the COIN-OR Optimization Suite should be packaged separately. But I guess that the process should not be difficult, as they all use exactly the same build infrastructure. |
Thanks for the explanation! DisCO would be good to have. We're missing an open-source mixed-integer conic solver other than Pavito/Pajarito. I'll get to this next week. |
What is the incantation for this? Omitting it causes an error that it is a required package? |
Hmm, yes, the configure script considers it required, but I don't think this is correct. It's true that some MIP solver is required and I think requiring SYMPHONY was just the easiest way to ensure that at the time. I'll take a closer look tomorrow and see how easy it would be to make SYMPHONY optional. |
@tkralphs I'm nearly there with this. #3183 is building the master of This is also building using the regular SYMPHONY release, no the warm-start branch. So it seems fine on that end. It should mean that there is a stab at getting DisCO to work. It'd be nice to have a MISOCP solver from JuMP in addition to Pajarito/Pavito. |
All ticks are green! This PR is good to merge on my end. |
Probably still a WIP, but let's see what the damage is on some other platforms.
This targets
It's probably easiest to keep them bundled together like this for now. We can split of SYMPHONY as a separate solver at some point if there is interest, or if we start building other COIN software with the same dependency.Unbundling
cc @matbesancon
cc @joaquimg
cc @tkralphs
cc @HesamShaelaie