Re: Is PyPy MinGW support broken?

I'm working with the MinGW team; I can create a patch to help, but a quick low down on how the build_executable_cache and related logic works would help me out a little Also: Is MinGW not used by the core team? best regards, Julian

On 19/6/23 10:45, Julian Waters wrote:
Thanks for giving PyPy a try. That code is a little obscure, but the goal is to figure out the size in C of different rpython types. So it creates a C file with various printf lines, compiles it, and checks the stdout. When I run it on linux here is the first C file (I put `import pdb;pdb.set_trace()` just before the line that fails to stop the process and look around) called gcctest.c that is created: $ cat /tmp/usession-py3.9-0/gcctest.c // includes #include <stdlib.h> #include <stdio.h> #include <sys/types.h> #include <inttypes.h> #include <stddef.h> // checking code int main(void) { printf("sizeof __int128_t=%ld\n", (long)sizeof(__int128_t)); return (0); } Next to that source file is the object file and the executable. Did the compilation succeed? What happens when you run the executable? The "core windows team" is me, and I admit I have not tried to use mingw to build PyPy. There are some instructions here [0] but I don't think anyone has actually tried that in a long time so there is probably significant bitrot. Corrections are welcome In order to build on windows, you must use PyPy2.7, a regular CPython 2.7 will not work, see [1] for the justification. Matti [0] https://doc.pypy.org/en/latest/windows.html#using-the-mingw-compiler [1] https://doc.pypy.org/en/latest/windows64.html#windows64

On 19/6/23 10:45, Julian Waters wrote:
Thanks for giving PyPy a try. That code is a little obscure, but the goal is to figure out the size in C of different rpython types. So it creates a C file with various printf lines, compiles it, and checks the stdout. When I run it on linux here is the first C file (I put `import pdb;pdb.set_trace()` just before the line that fails to stop the process and look around) called gcctest.c that is created: $ cat /tmp/usession-py3.9-0/gcctest.c // includes #include <stdlib.h> #include <stdio.h> #include <sys/types.h> #include <inttypes.h> #include <stddef.h> // checking code int main(void) { printf("sizeof __int128_t=%ld\n", (long)sizeof(__int128_t)); return (0); } Next to that source file is the object file and the executable. Did the compilation succeed? What happens when you run the executable? The "core windows team" is me, and I admit I have not tried to use mingw to build PyPy. There are some instructions here [0] but I don't think anyone has actually tried that in a long time so there is probably significant bitrot. Corrections are welcome In order to build on windows, you must use PyPy2.7, a regular CPython 2.7 will not work, see [1] for the justification. Matti [0] https://doc.pypy.org/en/latest/windows.html#using-the-mingw-compiler [1] https://doc.pypy.org/en/latest/windows64.html#windows64
participants (2)
-
Julian Waters
-
Matti Picus