Issue335

Title Standalone/--recurse-all --recurse-stdlib still have dependencies
Priority bug Status resolved
Superseder Nosy List Varriount, kayhayen
Assigned To kayhayen Keywords standalone, wrong_execution

Created on 2016-11-07.18:01:47 by Varriount, last changed by kayhayen.

Files
File name Uploaded Type Edit Remove
fix.patch Varriount, 2016-11-13.09:24:02 application/octet-stream
Messages
msg2354 (view) Author: kayhayen Date: 2018-03-27.20:23:42
Released long ago
msg2064 (view) Author: kayhayen Date: 2016-11-15.20:46:49
Done, will be part of next release.
msg2063 (view) Author: Varriount Date: 2016-11-15.18:20:54
You can attribute the fix to Clay Sweetser, my email is clay.sweetser@gmail.com
msg2061 (view) Author: kayhayen Date: 2016-11-14.20:59:10
Your fix looks good to me. Indeed, "technical" ones must be not be included as 
compiled. Only with --recurse-stdlib they will be compiled, but the interpreter 
won't initialize if they cannot be loaded.

Thanks a lot for the patch. That was hard stuff, please send more and let me 
know to which name/email I should attribute it, if you want to. I am putting 
this on factory branch, but it's totally hotfix material once I choose to make 
one for something slightly more important.

Yours,
Kay
msg2055 (view) Author: Varriount Date: 2016-11-13.09:24:02
After some investigating, I've attached a patch which appears to fix the issue. When --
recurse-stdlib was used with --standalone, C compiled modules were overriding their 
pickled versions, which are required on interpreter startup. Allowing 'technical' 
modules to take precedence fixed the issue.
Whether this is the 'best' fix is debatable - I know that not all of the 'technical' 
modules are actually required for interpreter startup. Possible alternatives include 
keeping a whitelist of modules that must be pickled and added on startup, or having the 
C versions of such modules made available on startup (if possible).
msg2047 (view) Author: Varriount Date: 2016-11-07.18:01:47
On Windows and Mac OSX, Python programs compiled with Nuitka still have dependancies 
with the original Python installation (mainly the core Python modules - encodings, 
codecs, io, etc). Moving the executable to a computer that doesn't have Python 
installed (Or renaming the Python installation path) causes interpreter initialization 
errors.
History
Date User Action Args
2018-03-27 20:23:42kayhayensetstatus: testing -> resolved
messages: + msg2354
2016-11-15 20:46:49kayhayensetstatus: chatting -> testing
assignedto: kayhayen
messages: + msg2064
nosy: + kayhayen
2016-11-15 18:20:54Varriountsetstatus: testing -> chatting
messages: + msg2063
2016-11-14 21:03:02kayhayensetkeyword: + wrong_execution, standalone
2016-11-14 20:59:10kayhayensetstatus: chatting -> testing
messages: + msg2061
2016-11-13 09:24:03Varriountsetfiles: + fix.patch
status: unread -> chatting
messages: + msg2055
2016-11-07 18:01:47Varriountcreate