-
Notifications
You must be signed in to change notification settings - Fork 704
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
new-build: Repeating build fails #3637
Comments
Oh, and the exact cabal-install version I'm running is commit b7b666e |
Any chance we can get a small test case? |
I have absolutely no idea how I would go about making such a test case as I'm not familiar with any of the new-build stuff :). Maybe someone who is can chime in on what I could try? |
OK, since your library is open source the issue should be reproducible. |
Hopefully, yes. |
TBF, this is a lot of deps ;) (currently building...) |
I cannot repro. I am also on b7b666e Do I have to edit some files? |
No, all my files are exactly as in that repo. I'm assuming you did the "repeat the command" bit? (Just making sure.) If it doesn't reproduce for you then some global state must be "leakin in" somewhere... Hum. OK, I'll try wiping everything I can and try to build again. Anything I should wipe besides |
For some reason new-build is repeatedly building cqrs-example, which does seem like a bug. Before you wipe everything, first try wiping |
I did try dist-newstyle, but same result :( . I'll try the "full wipe" tomorrow and report back. |
OK, I've tried the full wipe of ~/.ghc and ~/.cabal. Issue remains. Can you think of any other system-wide state that might influence this? @ezyang : Just out of curiousity... did you do a completely clean build? (That is, with ~/.ghc and ~ /.cabal at least moved out of the way.) |
Actually, I've reproduced this, but on a different project! The problem goes away if you make a modification to the project in question. |
I just encountered this when building cabal with |
So, for #3644, I'm going to be rewriting this chunk of code. Maybe the problem will go away after I've done so. |
I ran git bisect and got commit 97cff5c. |
OK... my guess what is going on is that Unfortunately, we do have to handle this case, because an inplace executable may be improved such that we don't need to rebuild it. I'll have to analyze The steps to reproduce should be to build a package with an executable but no library twice. |
So I guess there are two possible ways to fix this:
|
The previous approach I took, though correct, was quite confusing. If I refactor InstallPlan to operate on a per-component basis, then we'll automatically get support for convenience libraries, which will ultimately cleaner. (While we won't be able to get rid of support for whole package installs, it will be safe to assume packages using convenience libraries also support one-shot configure.) I think this may fix haskell#3637. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
The previous approach I took, though correct, was quite confusing. If I refactor InstallPlan to operate on a per-component basis, then we'll automatically get support for convenience libraries, which will ultimately cleaner. (While we won't be able to get rid of support for whole package installs, it will be safe to assume packages using convenience libraries also support one-shot configure.) I think this may fix haskell#3637. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
The previous approach I took, though correct, was quite confusing. If I refactor InstallPlan to operate on a per-component basis, then we'll automatically get support for convenience libraries, which will ultimately cleaner. (While we won't be able to get rid of support for whole package installs, it will be safe to assume packages using convenience libraries also support one-shot configure.) I think this may fix haskell#3637. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
The previous approach I took, though correct, was quite confusing. If I refactor InstallPlan to operate on a per-component basis, then we'll automatically get support for convenience libraries, which will ultimately cleaner. (While we won't be able to get rid of support for whole package installs, it will be safe to assume packages using convenience libraries also support one-shot configure.) I think this may fix haskell#3637. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
The previous approach I took, though correct, was quite confusing. If I refactor InstallPlan to operate on a per-component basis, then we'll automatically get support for convenience libraries, which will ultimately cleaner. (While we won't be able to get rid of support for whole package installs, it will be safe to assume packages using convenience libraries also support one-shot configure.) I think this may fix haskell#3637. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
The previous approach I took, though correct, was quite confusing. If I refactor InstallPlan to operate on a per-component basis, then we'll automatically get support for convenience libraries, which will ultimately cleaner. (While we won't be able to get rid of support for whole package installs, it will be safe to assume packages using convenience libraries also support one-shot configure.) I think this may fix haskell#3637. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
The previous approach I took, though correct, was quite confusing. If I refactor InstallPlan to operate on a per-component basis, then we'll automatically get support for convenience libraries, which will ultimately cleaner. (While we won't be able to get rid of support for whole package installs, it will be safe to assume packages using convenience libraries also support one-shot configure.) I think this may fix haskell#3637. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
The previous approach I took, though correct, was quite confusing. If I refactor InstallPlan to operate on a per-component basis, then we'll automatically get support for convenience libraries, which will ultimately cleaner. (While we won't be able to get rid of support for whole package installs, it will be safe to assume packages using convenience libraries also support one-shot configure.) I think this may fix haskell#3637. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
The previous approach I took, though correct, was quite confusing. If I refactor InstallPlan to operate on a per-component basis, then we'll automatically get support for convenience libraries, which will ultimately cleaner. (While we won't be able to get rid of support for whole package installs, it will be safe to assume packages using convenience libraries also support one-shot configure.) I think this may fix haskell#3637. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
The previous approach I took, though correct, was quite confusing. If I refactor InstallPlan to operate on a per-component basis, then we'll automatically get support for convenience libraries, which will ultimately cleaner. (While we won't be able to get rid of support for whole package installs, it will be safe to assume packages using convenience libraries also support one-shot configure.) I think this may fix haskell#3637. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
The previous approach I took, though correct, was quite confusing. If I refactor InstallPlan to operate on a per-component basis, then we'll automatically get support for convenience libraries, which will ultimately cleaner. (While we won't be able to get rid of support for whole package installs, it will be safe to assume packages using convenience libraries also support one-shot configure.) I think this may fix haskell#3637. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
This is now fixed. |
Repeating a new-build command twice fails on my project with the error message
the second time I run the build. The command I'm running is
and the repository is current 'master' here: https://github.com/BardurArantsson/cqrs/tree/master
The text was updated successfully, but these errors were encountered: