Index: Tools/freeze/freeze.py =================================================================== --- Tools/freeze/freeze.py (Revision 74017) +++ Tools/freeze/freeze.py (Arbeitskopie) @@ -201,7 +201,7 @@ # modules that are imported by the Python runtime implicits = [] - for module in ('site', 'warnings',): + for module in ('site', 'warnings', 'encodings.utf_8', 'encodings.latin_1'): if module not in exclude: implicits.append(module) Index: Tools/freeze/makeconfig.py =================================================================== --- Tools/freeze/makeconfig.py (Revision 74017) +++ Tools/freeze/makeconfig.py (Arbeitskopie) @@ -3,7 +3,8 @@ # Write the config.c file -never = ['marshal', '__main__', 'builtins', 'sys', 'exceptions', '_warnings'] +never = ['marshal', '__main__', 'builtins', 'sys', 'exceptions', '_warnings', + 'imp', 'gc'] def makeconfig(infp, outfp, modules, with_ifdef=0): m1 = re.compile('-- ADDMODULE MARKER 1 --') @@ -18,8 +19,8 @@ if mod in never: continue if with_ifdef: - outfp.write("#ifndef init%s\n"%mod) - outfp.write('extern void init%s(void);\n' % mod) + outfp.write("#ifndef PyInit_%s\n"%mod) + outfp.write('extern PyObject* PyInit_%s(void);\n' % mod) if with_ifdef: outfp.write("#endif\n") elif m2 and m2.search(line): @@ -27,7 +28,7 @@ for mod in modules: if mod in never: continue - outfp.write('\t{"%s", init%s},\n' % + outfp.write('\t{"%s", PyInit_%s},\n' % (mod, mod)) if m1: sys.stderr.write('MARKER 1 never found\n')