[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

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]: 

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