-
Notifications
You must be signed in to change notification settings - Fork 711
./Setup configure eats memory, cabal configure does not #2777
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
Comments
At first this is surprising because |
Looking at what cabal configure does, it finds a solution and passes it, including the --flags settings and --dependency versions to setup configure. nomeata found earlier that telling setup configure the flag settings avoids this blowup. BTW, I've also got a report of this on Fedora: http://git-annex.branchable.com/bugs/OOM_while_configuring_git-annex/ |
@ttuegel Any luck with this? |
Yes and no. I confirmed that the problem is as I expected:
I haven't done anything toward fixing it. There is some work being done to move the solver to its own library, but I'd actually like to see it moved into the Cabal library so we could solve this problem more easily. |
@RichiH There hasn't been any movement on it recently, but if it doesn't start moving soon, I'll give it a push. |
@ttuegel Reminder-poke :) |
@ttuegel Does it make sense to make a smaller improvement to Cabal's algorithm before the solver is available? Cabal currently tries every combination of flags until it finds a solution. I changed the algorithm so that it backtracks as soon as one flag introduces a dependency that isn't available, and it seems to work in this case. Would you like me to work on a pull request? |
I would like to have the small version sooner rather than later if you guys
are willing to do the work.
Richard
Sent by mobile; excuse my brevity.
|
@grayraw Yes, I think your patch would be accepted. |
@grayjay Thank you for working on that. Yes, please make a pull request. I've been overruled and the solver is never going to be part of Cabal. |
You could print pseudologic
"Install ( foo || bar ) && quux && ( foo1 || foo2 || foo3) and try again."
Richard
Sent by mobile; excuse my brevity.
|
Fixed in #3076. |
Debian is observing a problem with git-annex, where using
./Setup configure
would eat up all memory in the solver (judging from the heap profile, related to flag assignment), whilecabal configure
does not. This is Cabal 1.22.1.1 andcabal.-install
1.22.0.1.I will add a link to a tarball that contains a home directory with a few packages installed (just the package config) and a cabal directory. You can test it this way:
I’m surprised that cabal does better than
Cabal
here.The text was updated successfully, but these errors were encountered: