Opened at 2007-05-10T08:22:25Z
Closed at 2007-08-10T23:12:36Z
#43 closed defect (fixed)
on my cygwin install attempt after README guidelines the proposed "import zfec" test fails
Reported by: | arnowa | Owned by: | warner |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | code | Version: | |
Keywords: | Cc: | ||
Launchpad Bug: |
Description (last modified by warner)
on my cygwin install attempt after README guidelines the proposed "import zfec" test fails:
Python 2.5 (r25:51908, Mar 13 2007, 08:13:14) [GCC 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)] on cygwin Type "help", "copyright", "credits" or "license" for more information. >>> import zfec /usr/lib/python2.5/site-packages/zfec-1.0.0-py2.5-cygwin-1.5.24-i686.egg/_fec.py:3: UserWarning: Module _fec was already imported from /usr/lib/python2.5/site-packages/zfec-1.0.0-py2.5-cygwi n-1.5.24-i686.egg/_fec.pyc, but /cygdrive/k/src/tahoe/src/zfec is being added to sys.path import sys, pkg_resources, imp Traceback (most recent call last): File "<stdin>", line 1, in <module> File "zfec/__init__.py", line 19, in <module> from _fec import Encoder, Decoder, Error File "build/bdist.cygwin-1.5.24-i686/egg/_fec.py", line 7, in <module> File "build/bdist.cygwin-1.5.24-i686/egg/_fec.py", line 6, in __bootstrap__ ImportError: Permission denied >>> [4]+ Stopped python
Change History (17)
comment:1 Changed at 2007-05-10T15:24:59Z by zooko
comment:2 Changed at 2007-05-10T22:06:45Z by zooko
I still haven't figured this out. Could you please do a couple of diagnostics:
- Try to run "ls -l" on any files that you can find. If build/bdist.cygwin-1.5.24-i686/egg/_fec.py doesn't actually exist, then try build/bdist.cygwin-1.5.24-i686/egg (I suspect that the "egg" is a ZIP file), and so on.
- {{{
python -i import setuptools setuptools.version }}}
The official stable version of setuptools is 0.6c5, but I required only 0.6c3 in order to make it a tad easier to install on Ubuntu Edgy. Anyway, I'd like to know what version of setuptools you have.
More soon...
comment:3 Changed at 2007-05-10T22:06:58Z by zooko
- Owner changed from zooko to arnowa
comment:4 Changed at 2007-05-12T15:25:14Z by zooko
I just had a similar problem. The output was:
$ python -i Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import zfec Traceback (most recent call last): File "<stdin>", line 1, in <module> File "zfec\__init__.py", line 19, in <module> from _fec import Encoder, Decoder, Error ImportError: DLL load failed: The specified module could not be found.
Here are some possibly relevant facts:
$ python -i Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.platform 'win32' >>> sys.version '2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)]' >>> import setuptools >>> setuptools.__version__ '0.6c5'
What versionf of those things are on your system, Arno?
comment:5 Changed at 2007-05-12T15:25:19Z by zooko
- Owner changed from arnowa to zooko
- Status changed from new to assigned
comment:6 Changed at 2007-05-12T15:31:15Z by zooko
- Owner changed from zooko to arnowa
- Status changed from assigned to new
Hm, so I ran setup.py clean --all, and then I ran darcs whatsnew -s -l and rm'ed everything that was identified as being new. (See also ticket #10.)
After that, then the problem goes away.
Will you try that, Arno? Also, if it makes a difference, you can get a darcs repository with just zfec and not tahoe from
http://allmydata.org/source/zfec/
Assigning to Arno to see if cleaning everything away and retrying changes the behavior.
comment:7 Changed at 2007-05-12T15:57:42Z by zooko
Once you can get zfec to load, then another thing we want to know is what is the path from which zfec was loaded:
$ python -i Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import zfec >>> print zfec <module 'zfec' from 'c:\Python25\lib\site-packages\zfec-1.0.0-py2.5-win32.egg\zfec\__init__.pyc'>
comment:8 Changed at 2007-05-12T19:43:59Z by zooko
Arno mailed me this:
i found that that permission problem seems to be related to the fact that the _fec.dll is dlopened from ~/.python-eggs/zfec-something-egg-tmp dir, having 600 as permissions. Everything is fine when i change that manually to 777 or whatever. But i can't see where to influence python or whomever to avoid that 600...?
comment:9 Changed at 2007-05-13T15:30:01Z by arnowa
- Owner changed from arnowa to zooko
using setuptools's 0.7a1 (i. e. the subversion trunk, i think) seems to solve this.
comment:10 Changed at 2007-05-13T18:53:29Z by zooko
- Owner changed from zooko to arnowa
- Priority changed from major to minor
Arno: Try putting "0.7a1" as the "default version" in ez_setup.py and adding in the appropriate md5sum for 0.7a1. :-)
comment:11 Changed at 2007-05-16T15:20:20Z by zooko
- Owner changed from arnowa to zooko
- Status changed from new to assigned
Philip J Eby reportsthat this will be fixed by setuptools v0.6c6, which is due to be released Real Soon Now.
comment:12 Changed at 2007-05-18T17:00:49Z by zooko
So... I guess the next step is either wait for 0.6c6 or else start using 0.7a1.
comment:13 Changed at 2007-06-04T19:45:14Z by zooko
setuptools 0.6c6 is out
comment:14 Changed at 2007-06-04T19:59:59Z by zooko
I'm making a new version of zfec packaging which uses setuptools 0.6c6 and which also uses pyutil package by automated import and dependency instead of by copying some of pyutil's files into zfec/util/.
comment:15 Changed at 2007-06-05T02:50:32Z by warner
- Description modified (diff)
(just wikiformatting the exception in the descriptive text)
comment:16 Changed at 2007-08-01T21:42:26Z by zooko
- Owner changed from zooko to warner
- Status changed from assigned to new
Arno confirmed that installing setuptools v0.6c6 fixed it on his cygwin machine.
He submitted a patch to the mailing list:
http://allmydata.org/pipermail/tahoe-dev/2007-July/date.html
Which makes setuptools 0.6c6 required. It is slightly unfortunate to require people to upgrade setuptools if they don't have to (that is, if they don't happen to hit this bug, which is only known on cygwin), but on the other hand it may be simpler to just require it (which is what Arno's patch does), than to require different versions on different platforms (which isn't so hard in Python code, but it complicated the README a tad).
Brian, RobK, what do you think? Shall we accept Arno's patch and just require setuptools 0.6c6 for all packages on all platforms?
comment:17 Changed at 2007-08-10T23:12:36Z by zooko
- Resolution set to fixed
- Status changed from new to closed
Thanks, Arno!
Thanks for the bug report Arno. I don't yet understand why this happens.
After you get the error shown above, could you run "ls -l" to get permission information about the files names in the error message?
I'll try to reproduce this or deduce what is going on.