-
-
Notifications
You must be signed in to change notification settings - Fork 11
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
Provide cbc for Conda on Windows #3
Comments
Yes, there is a reason that Cbc isn't currently provided for Windows and it's a rather silly one. In short, the easiest fix is to release the new version 3.0, which should address the issue, but this is still in process (see coin-or/Cbc#374). The slightly longer version is that the latest release |
So the flang-detection should be something that can be fixed, either on conda-forge side or through a direct patch on the feedstock. I may give it a shot later, now that conda-forge/staged-recipes#14962 is becoming unstuck. |
This is probably not that easy unless you want to actually patch the configure script directly, which I guess could be done. |
Any updates on this one? Would be very convenient to have it work again in Windows :) |
PRs are always welcome. I'll try to support if possible, but I cannot lead that effort ATM. |
@tkralphs Are there any updates to this? Is patching configure still the only way to go? Can we maybe create packages from the master branch? If patching configure is the only way to go, can you link the lines that were changed in your big Refactoring PR that might need to be included into the patch such that flang is found? I cannot find any changes regarding flang in your repository. |
Unfortunately, the situation hasn't changed a lot. I am still hopeful about locating a volunteer to finish the refactoring or maybe finding time to do it myself sometime over summer. In the meantime, if it's acceptable to make packages from the mater branch, then I would be willing to try to help with that, but it seems like a can of worms. If nothing else, we would need packages for all dependencies as well. In |
We don't have a working flang for windows in conda-forge yet (well, we do have a cobbled-together one based on classic-flang, but it's essentially unused). The new LLVM flang is still WIP though it's something I'm pushing for with quite high priority. It should be usable towards the end of the year, I hope.
We could publish something into a
|
@h-vetinari after the merging of conda-forge/flang-feedstock#28 is it correct to say there is a working flang for windows in conda-forge? Looks like moving things forward requires starting with a successful windows build on
Happy to contribute to move this forward, if some guidance can be given! |
Flang 17 should still be considered pretty experimental. Flang 18 is looking to be much more suitable, and as soon as we have that built, I'll advocate for rolling this out as our default fortran compiler on windows. At around the same time, we can start trying to build the coin-or stack as well. Of course you can experiment with Flang 17 already, but there are still many rough edges. |
@h-vetinari are you closer to providing cbc for conda on Windows machine after the merge of conda-forge/flang-feedstock#38? Sorry to have no means to contribute, I am just an occasional user of cbc for some optimization problems. |
There seems to have been another failed PR that tried to add Windows support in the coin-utils recipe. It still seems to be not working (although the CI logs are deleted by now). Apparently it is not only the missing/incomplete flang support, but also the fact that coinor 2.10 has a very complex build system that makes a lot of assumptions on filetypes, compiler flags etc. |
I need to dig back into this to see what's really going on. As I said back at the beginning, I can build the stable version of CoinUtils very smoothly and easily on my own Windows machine with the Visual Studio compiler and no Fortran compiler present. CoinUtils is also built successfully with the Visual Studio compiler on Github Actions, also with no Fotran compiler present. So this is still something specific to conda. I've looked over the comment from the initial debugging of the Windows builds (see conda-forge/coin-or-coinutils-feedstock#1 and it's not very clear to me exactly why the Fortran compiler was originally needed. It appears to be because of name-mangling associated with linking the BLAS and LAPACK libraries. The fortran compiler is needed just to see how to link these libraries, since there are some different name-mangling conventions (I am not particularly an expert on this). I saw a mention of CBLAS when I was browsing changes and linking to this as the BLAS library could already fix the issue. But with all that said, the failure at the moment has nothing to do with CoinUtils. It is here
This is a bash script, so it is rather odd that |
@tkralphs I fixed the bash errors in conda-forge/coin-or-utils-feedstock#16 But we get all kinds of weird errors in your configure script. First the unfortunately expected problems with fortran
Then this:
Can you check this and compare the flags and variables with your GitHub actions setup? |
From the output, it seems that a Fortran compiler ( The errors in the configure script might be a line-ending problem, but I don't see where those are arising. A direct link to the output where you copied these from would be helpful. I don't know what the setup is on the build machines being used here is, but these same configure scripts are building on a wide range of platforms on Github Actions without problems, so it's doubtful it is the scripts themselves. |
Okay! I will try without Flang. I fixed the line ending problem by using msys make instead of the regular conda make. |
I'm not sure if autotools (or your configure scripts) correctly recognises the new flang. There used to be an old flang that had gotten some build system support, but it's not the same (well, except written by overlapping groups of people). |
Is there any update on this? A windows installation would be verry handy for me |
Hi! We recently updated the coinutils package to support windows. I think the plan was to start on cbc next since IIRC it is the only other one depending directly on blas/lapack and therefore needs special care. The next 3 weeks are however a bit uncertain regarding my time for open source. |
Thanks for the update, I am looking forward to it. |
Actually, we need to proceed in dependency order CoinUtils->Osi->Clp->Cgl->Cbc. But I believe that the remaining projects should be straightforward, since I believe CoinUtils is actually the only project with a direct dependency on BLAS/LAPACK. Just taking a quick look, I see BLAS/LAPACK mentioned in the recipes of |
Just wanted to see if we could revisit this. It would be really nice to get it done! The next project in line is Osi. |
The upcoming flang 19 is looking much better (aside from SciPy which was working before, it also works for openblas, mumps and various other libraries). You can test it by adding the channel Looking at the comments further up, you might have to hack the autoconf scripts (depending on the choices they make), if setting |
We eventually came up with a solution in conda-forge/coin-or-utils-feedstock/pull/18 that doesn't require a Fortran compiler. This is working and what is needed now is to replicate it in Osi, Clp, Cgl, and Cbc. |
Issue:
Currently conda-forge provides coin-or-cbc for Linux and macOS.
Could it be provided for Windows too? If not, ideally explain why
(e.g. are some dependencies not available for Windows?).
Requested at:
coincbc
using Conda in WindowsThe text was updated successfully, but these errors were encountered: