[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-12 Thread Larry Hastings
Larry Hastings added the comment: Pull request accepted. Please forward-merge, thanks! -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker ___

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-09 Thread Roundup Robot
Roundup Robot added the comment: New changeset 8374472c6a6e by Steve Dower in branch '3.5': Issue #25027: Reverts partial-static build options and adds vcruntime140.dll to Windows installation. https://hg.python.org/cpython/rev/8374472c6a6e -- nosy: +python-dev

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-09 Thread Paul Moore
Paul Moore added the comment: > Maybe we can special-case pip uninstalling it from the site-packages folder? > *Paul* - any thoughts? Sorry, I've been following this thread but it's been moving pretty fast, so I'm probably replying too late to be helpful now :-( One alternative thought I had

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Steve Dower
Steve Dower added the comment: FYI: we're making a new release (right now!) with the patch applied, that should go out tomorrow. If anyone spots anything important in the patch, I still really want to hear about it, but hopefully having something installable means we'll get at least a few day

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Larry Hastings
Changes by Larry Hastings : -- stage: -> patch review ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Steve Dower
Steve Dower added the comment: New patch. Mostly build and installer changes, but the distutils/_msvccompiler.py is also part of it. I've run a full build and done basic testing with a full test run going now, but I don't have a clean machine handy to try it without the full CRT install, so t

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Steve Dower
Steve Dower added the comment: Okay, here's a proposal: We bundle vcruntime140.dll with Python's normal install, so it's always there and extensions that use it do not need to ship anything. When distutils._msvccompiler is used to build an extension with a *different* version of MSVC, it will

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread eryksun
eryksun added the comment: I think 3.5 should be distributed with vcruntime140.dll. It seems a waste for python.exe, python35.dll, and all of the extension modules and dependent DLLs to each take an FLS slot: >>> import ctypes # +1 for _ctypes >>> kernel32 = ctypes.WinDLL('kernel32')

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Steve Dower
Steve Dower added the comment: vcruntime140.dll *is* a system library when installed properly, and if someone installs VCRedist then all the bundled ones should be ignored. Over time, I expect to see extensions appear that depend on vcruntime150.dll rather than 140.dll, so it won't always be s

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Christoph Gohlke
Christoph Gohlke added the comment: I understand that distributing dependent DLLs next to extension modules is considered the best approach (which nevertheless fails in common cases), however vcruntime140.dll is a spec

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Steve Dower
Steve Dower added the comment: Attached a fix for distutils that will include the required vcruntime DLL with the extension. This is purely Python source code and only needs to be patched on the build machine. I have tested with a numpy build from source (setup.py bdist_wheel) and it works c

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Steve Dower
Steve Dower added the comment: It shouldn't be - locale state is in the shared part of the CRT. That is one of the reasons I was keen to move to this model (everyone seems to think that FILE* is the only problem with mixing CRT versions :) ) -- ___

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Stefan Krah
Stefan Krah added the comment: The reason I asked: We had issues where extension modules linked against a different CRT had isolated locale settings from the interpreter, i.e., changes made by the module would not be seen by the interpreter. I don't know if this is still an issue with the new ru

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Stefan Krah
Stefan Krah added the comment: It seems to be /MTd. Sorry for the noise (and yay! for horizontal scrolling :). -- ___ Python tracker ___ _

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Steve Dower
Steve Dower added the comment: Kind-of... We use the same flags I described in my blog[1] so that we don't have any version-specific dependencies. You should (might) see /MT in the build logs, but then we replace most of the static CRT with the dynamic (but versionless) one. The versioned part

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Stefan Krah
Stefan Krah added the comment: Is Python-core built with /MD? I cannot see the flags in the buildbot logs. -- ___ Python tracker ___ _

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Steve Dower
Steve Dower added the comment: Let me experiment today with a few of the proposals I posted in the other thread and get back to you. I suspect someone will need to ship vcruntime.dll, and I'd rather it was the extension. -- ___ Python tracker

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Larry Hastings
Larry Hastings added the comment: This is your wheelhouse, Steve. -- assignee: -> steve.dower ___ Python tracker ___ ___ Python-bugs-

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Stefan Krah
Changes by Stefan Krah : -- nosy: +larry ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.or

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Stefan Krah
Stefan Krah added the comment: If the scientific stack is unusable, I think this should be a release blocker. -- nosy: +skrah priority: normal -> release blocker ___ Python tracker _

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Christoph Gohlke
Changes by Christoph Gohlke : Added file: http://bugs.python.org/file40402/test_dll_load_failed.py ___ Python tracker ___ ___ Python-bugs-list

[issue25027] Python 3.5.0rc3 on Windows can not load more than 127 C extension modules

2015-09-08 Thread Christoph Gohlke
New submission from Christoph Gohlke: This issue was first mentioned at . The attached script (test_dll_load_failed.py) builds up to 256 C extension modules and imports them. On Python 3.4.3 the script passes while on Python 3.5.0rc3 the script fail