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
I keep getting an error where buildout seems to be trying to re-install the appdirs egg #379
Comments
It looks like buildout isn't including appdirs in it's environment for some reason. |
This is weird. I deleted the old appdirs egg, has to re-bootstrap my shared buildout and now it works fine. :/ I've succeeded flailtastically like this before, until... |
Potentially related? There's recently been a new release of appdirs. I ran into problems installing it yesterday in the gevent build farm because the previous version had invalid metadata and couldn't be uninstalled. In that case the only thing to do was to clear the local virtualenv and start from scratch. |
See #382 and benjaminp/six#188 At a minimum we should catch this error and display the directory. Perhaps we should even detect the version mismatch. |
The following w/o using A
And then as shell script or directly on console:
|
Gaaaa, appdirs has the same bug as six. |
Sigh. I am seeing similar I've now seen this happen with two different eggs, zc.recipe.egg and collective.recipe.filestorage. Buildout, I will dance on your grave when the day comes. |
Ok in my case, this was because of old buildout in which there are checks in _move_to_eggs_dir_and_compile for pre-existing file and directory that cause removal of target first, but there is no a link check, and it looks like the egg file was a link :( I seem to recall this may have been fixed in newer zc.buildout. On a side note, I wonder why on earth is the zope/ztk kgs still specifying buildout 1.7.1...? |
A somewhat rare corner case found, thus. |
I don't know which kgs specifically you refer to, but in general, packages don't assume they're buildable by more recent builders than the one they were successfully built with.
There is only so much sanity check the code can do before attempting to work... It also doesn't check for a read-only filesystem, for example... The code in question was built with an assumption that separate but simultaneous buildout runs that share an egg directory might race to install the same package at the same time, so they check for the target presence before they move, but don't try to clobber the destination or remove the target before replacing. The assumption is that whoever put the target there has a good reason to have done so and is probably using it. It also assumes the "suddenly already existing target" is likely as well built as the newly built one so if it can't move the target into place, it checks the destination is ok and gives up. |
I've seen this several times. Has anyone else seen this? @leorochael does this ring any bells? This started with 2.9.
The text was updated successfully, but these errors were encountered: