Hi,
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?

--
Cyrus Daboo

_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to