Hi, a couple of days ago, I did brew up && brew upgrade. This lead to detecting plt-racket as outdated and brew started building new plt-racket 5.2. However, my computer froze during the build, and I had to reboot it.
brew up && brew upgrade
The issue is that brew reports plt-racket as updated, because /usr/local/Cellar/plt-racket/5.2 exists. However, this directory is not complete, and call to racket results in this:
Welcome to Racket v5.1.3.
brew info plt-racket shows the following:
brew info plt-racket
/usr/local/Cellar/plt-racket/5.1.3 (17822 files, 267M)
/usr/local/Cellar/plt-racket/5.2 (12471 files, 127M) *
Possible fix: Homebrew adds a .brewing file to the prefix during installation, rm's it at the very end.
If the .brewing file exists, then the install was interrupted some how.
@adamv Makes sense.
Yes, something like that would work. Then brew doctor could be used to report such problems.
I remember that MacPorts(?) had a mechanism to log the current phase. If something would go wrong, once you fix it, you would be able to continue from that point.
Yes, we need something like this in general, since you can currently install the same thing twice simultaneously in different shells. We need a lock for a few operations. I guess install and link/unlink (to prevent simultaneous link and unlink on the same keg which would result in a mess).
I just had a build fail because I was using brew from two terminals for two different packages that had a common dependency.
Exists back to 1.8.6 so we're golden: http://www.ruby-doc.org/core-1.8.6/File.html#method-i-flock
Is this closable now that we have the installer lock?
Yes, I think so. Reopen if not.