[pypy-issue] Issue #2109: Issue with W_ArrayTypeX.* file on case-insensitive filesystem (pypy/pypy)
Wilfredo Sanchez
issues-reply at bitbucket.org
Wed Aug 5 20:00:32 CEST 2015
New issue 2109: Issue with W_ArrayTypeX.* file on case-insensitive filesystem
https://bitbucket.org/pypy/pypy/issues/2109/issue-with-w_arraytypex-file-on-case
Wilfredo Sanchez:
In an email to pypy-dev, Cyrus Daboo explains:
Cyrus Daboo cyrus at daboo.name
Wed Aug 5 17:59:54 CEST 2015
OS X defaults to having a case-insensitive file system. I believe there is
a problem with building pypy from source on such a system.
During the build process I see files being written to the jitcodes
directory in the /tmp build directory. There are some "W_ArrayTypeX.*"
files being written there, where "X" is a typecode (which I believe comes
from pypy/module/array/interp_array.py). The allowable codes come from the
set "c, b, B, u, h, H, i, I, l, L, f or d". Note that there are a mixture
of lower and upper case characters that are the same.
When I build on OS X, with an option to force an error when trying to
create a file with a name that matches another, but with different case, I
see this:
[translation:ERROR] EEXIST: [File exists]:
file('/tmp/usession-release-2.6.x-0/jitcodes/W_ArrayTypel._charbuf_stop',
'w')
That is because "W_ArrayTypeL._charbuf_stop" exists - i.e., "l" and "L" are
in conflict.
Now, I am not a PyPy dev expert, so I have no idea what the impact of this
might be, but it seems wrong to me. Though I cannot detect any obvious
problems in the built pypy binary.
I am not sure what an appropriate fix for this would be. Perhaps changing
the typecode set to use unique characters (case insensitive) for all the
different types?
More information about the pypy-issue
mailing list