-
-
Notifications
You must be signed in to change notification settings - Fork 18.6k
winXP 32-bit build problems #458
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
Comments
@m-paradox do you know the answer here? the offending C code is
|
hi Sam I made the above changes. Can you verify that your build works and I'll close the issue? |
PyArray_DATA(ap) returning void * is the problem, as it looks like you solved in your patch. There's also PyArray_BYTES which returns a char * instead of void *: http://docs.scipy.org/doc/numpy/reference/c-api.array.html#PyArray_DATA |
I got the MSVC compiler set up in my VM and verified that all's OK now. Tons of compiler warnings (Py_ssize_t -> int32_t casts) that I need to fix |
The fix works! Thanks! @m-paradox: How did you find this? The compiler message complained about a void pointer in the numpy_helper.h file that did not have any 'void''s in it. |
Wes found and fixed the issue, I was just showing that the original designers of the API had intended that PyArray_DATA be used when casting to a specific pointer (like double *), and PyArray_BYTES be used when processing generically (in this case). A 'void' doesn't have a size, so adding the stride-based offset to a 'void *' isn't defined. I would prefer to change PyArray_DATA to also return char *, because the void * use case allows implicit conversion and is an easy source of errors. |
Mark, I copy-pasted part of that method from multiarray/mappings.c in the NumPy codebase-- does that also need a cast to |
trouble building latest tip on winxp 32:
any help appreciated! I previously had no trouble building this. I have the latest cython and numpy releases.
Thanks!
The text was updated successfully, but these errors were encountered: