00:20
BPL has quit [Quit: Leaving]
01:59
Rhy0lite has quit [Quit: Leaving]
02:46
lritter has quit [Ping timeout: 240 seconds]
02:46
lritter has joined #pypy
03:49
Smigwell has left #pypy [#pypy]
03:55
forgottenone has joined #pypy
06:19
dddddd has quit [Ping timeout: 240 seconds]
06:28
dddddd has joined #pypy
06:29
dnshane has joined #pypy
06:56
forgottenone has quit [Quit: Konversation terminated!]
07:05
jcea has quit [Quit: jcea]
07:07
oberstet has joined #pypy
08:24
forgottenone has joined #pypy
09:02
forgottenone has quit [Ping timeout: 256 seconds]
09:26
<
mattip >
arigo: sorry, thanks
09:27
<
mattip >
I didn't realize you were working on windows
09:28
<
arigo >
yes, I'm fixing windows calling convensions with cffi, which were hopelessly broken
09:28
<
arigo >
also with cffi on cpython
09:28
<
arigo >
but now fixing the same with cffi on pypy
09:30
<
arigo >
not that libffi is sane on linux, I also know of one corner case signature that isn't called correctly
09:30
<
arigo >
but at least I can just blame libffi for that
09:33
<
arigo >
(I can't run the cffi tests on pypy2 on Windows, something about "please install version 14.2 of C++", but it works on pypy3 so that's good enough)
09:37
<
mattip >
I think you can force the version of msvc by running in a "Developer Command Prompt" dos cmd.exe
09:37
<
mattip >
so that the compiler is already set up
10:11
lritter has quit [Quit: Leaving]
10:20
todda7 has quit [Quit: Konversation terminated!]
10:22
todda7 has joined #pypy
11:02
_whitelogger has joined #pypy
11:05
todda7 has quit [Ping timeout: 272 seconds]
11:12
dddddd has quit [Ping timeout: 256 seconds]
11:14
dddddd has joined #pypy
12:32
<
arigo >
OK, seems to work now (on pypy3)
12:44
<
mattip >
with "time.sleep(100) can be interrupted normally with a Ctrl-C on PyPy2, but for some reason not on PyPy3" ?
12:44
<
mattip >
yes, but it may take a few days
12:44
<
arigo >
more specifically, how do I get a debug build of pypy3 on windows
12:45
<
arigo >
"nmake" seems to stop with no error
12:45
<
mattip >
nmake -f Makefile <target>
12:45
<
arigo >
well with no error printed, but the job not done
12:45
<
mattip >
after nmake -f Makefile clean
12:46
<
mattip >
i find it more productive to use printf since the debugging experience is so horrible on windows, but ymmv
12:46
<
mattip >
especially when threads are involved
12:48
<
mattip >
btw, does it work on pypy2 with a msvc after visual 2008? Maybe something about the compiler/runtime?
12:50
<
arigo >
the code is very different between pypy2 and pypy3 (same as between cpython2 and cpython3)
13:04
<
arigo >
mattip: OK, compilation (with a simple "pypy rpython") ends up failing with:
13:06
<
arigo >
rpython_translator.obj : error LNK2011: precompiled object is missing in link editing; the image risks not executing
13:06
<
arigo >
libpypy3-c.dll : fatal error LNK1120: 1 unresolved externs
13:06
<
mattip >
I admit I did not ever try debug build after I added the precompile stuff
13:06
<
arigo >
this is not even a debug build yet
13:06
<
arigo >
just a plain "pypy.exe rpython"
13:07
<
arigo >
(which works on the buildbot, so it must be me not having exactly the same version of the compiler or something)
13:07
todda7 has joined #pypy
13:08
<
arigo >
there is no information whatsoever in addition to what I pasted above, so I can't start to have a clue
13:09
<
arigo >
(e.g. "1 unresolved externs"---which one? can I have at least a name? no)
13:10
<
mattip >
maybe something messed up with the externals ? You need to "hg checkout win32_160" in the pypy\externals subrepo
13:10
<
mattip >
then add x:\full\path\to\pypy\externals\include to the INCLUDE env variable
13:10
<
mattip >
and same with LIB
13:15
<
arigo >
says we need to include the "file.obj" in the link command
13:15
<
arigo >
in this case, stdafx.obj
13:18
<
mattip >
it appears in the buildbot Makefile
13:19
<
arigo >
it fixes my problem if I add "stdafx.obj" on the link command in the Makefile
13:20
<
arigo >
the buildbot logs contain "jom.exe"
13:21
<
arigo >
OK, where is that from?
13:22
<
mattip >
if you install jom it builds on more than one core instead of nmake
13:22
<
arigo >
and maybe it then produces a different Makefile?
13:22
<
mattip >
stdafx.obj comes from translation/platform/windows.py line 469
13:23
<
mattip >
I only changed that this week, so the buildbot was running with plain nmake last week
13:23
<
mattip >
s/that/to jom.exe/
13:24
<
arigo >
I bet that's because self.version == 0
13:24
<
arigo >
and I bet that's, in turn, because running "cl.exe" gives an output in french here
13:24
<
arigo >
so using regexps on the output of "cl.exe" looks like it won't work
13:25
<
mattip >
seems fragile. Sorry
13:25
<
arigo >
yes, it outputs "Compilateur d'optimisation Microsoft (R) C/C++ version 19.16.27034 pour x86"
13:25
<
arigo >
and that doesn't match the regexp which seems to search for Microsoft C/C++ without the "(R)" in the middle
13:26
<
mattip >
we should just get rid of those self.version checks in there, we don't support < 80 anyway
13:26
<
arigo >
OK, easy fix
13:32
Rhy0lite has joined #pypy
13:37
<
arigo >
cool, now VC's debugger works nicely on a debug build
13:44
<
arigo >
OK there are two copies of the function CtrlHandlerRoutine
13:44
<
arigo >
in module_8.c and in module_15.c
13:45
<
arigo >
each one sets its own copy of "static HANDLE interrupt_event"
13:45
<
arigo >
I bet we set one of them and check the other
13:47
<
arigo >
I have no clue why link.exe doesn't complain
13:48
<
arigo >
no, module_8 is not present in the Makefile
13:49
<
arigo >
the file is there but not used
13:52
jcea has joined #pypy
13:56
<
mattip >
I was having a hard time getting the code that instantiates the interrupt handler to run when I worked on module/_io/interp_win32consoleio.py
13:57
<
mattip >
I ended up importing sleep from interp_time
13:57
<
arigo >
I'm seeing a difference
13:57
<
arigo >
with cpython 3.6
13:58
<
arigo >
in cpython 3.6, they call SetConsoleCtrlHandler(foo, TRUE) where foo is a function that does nothing and return TRUE
13:58
<
arigo >
in pypy3 that function sets the interrupt_event and returns FALSE
13:58
<
arigo >
in cpython3.6, the interrupt_event is set elsewhere, in the signal module
13:58
<
arigo >
when receiving a SIGINT
13:59
<
arigo >
I tried to put a breakpoint in our function that sets the interrupt_event, and it's not called by ctrl-c
13:59
<
arigo >
at least not while the program is sleep()ing
14:00
<
arigo >
I know nothing about interp_win32consoleio.py though
14:00
<
arigo >
should I still try to follow CPython's logic?
14:00
<
mattip >
win32consoleio is disabled anyway for now
14:02
<
mattip >
so IMO following CPython is probably the safest path
14:12
todda7 has quit [Ping timeout: 240 seconds]
14:55
<
mattip >
I wonder how much C code in CPython is shared by windows and posix and how much has totally diverged
15:18
rubdos_ has joined #pypy
15:19
rubdos has quit [Ping timeout: 260 seconds]
15:37
Taggnostr has quit [Ping timeout: 244 seconds]
15:49
Taggnostr has joined #pypy
16:07
BPL has joined #pypy
17:17
Dejan has quit [Quit: Leaving]
17:18
todda7 has joined #pypy
17:33
todda7 has quit [Quit: Konversation terminated!]
17:33
todda7 has joined #pypy
17:46
<
mattip >
you will see a pp36-pypy36_pp73-win32.whl build. It passes all the current NumPy tests.
17:47
<
mattip >
that joins the x86_64 one, which was already released to PyPI
17:49
todda7 has quit [Read error: Connection reset by peer]
17:49
tsaka__ has joined #pypy
18:14
tsaka__ has quit [Ping timeout: 272 seconds]
18:50
<
mattip >
not quite on PyPI yet, but it does provide an easy avenue for the "how do I install on windows" question
19:04
tsaka__ has joined #pypy
19:24
BPL has quit [Ping timeout: 256 seconds]
19:29
tsaka__ has quit [Read error: Connection reset by peer]
19:30
BPL has joined #pypy
19:30
tsaka__ has joined #pypy
19:32
todda7 has joined #pypy
19:36
tsaka__ has quit [Ping timeout: 265 seconds]
20:16
todda7 has quit [Ping timeout: 256 seconds]
21:04
speeder39_ has joined #pypy
21:32
_whitelogger has joined #pypy
23:15
speeder39_ has quit [Quit: Connection closed for inactivity]
23:49
BPL has quit [Quit: Leaving]