On Tuesday, March 23, 2021 at 9:44:03 PM UTC+11, Gisle Vanem wrote: > Why not try to port MicroPython instead? Much lighter. > I've ported it to MSDOS/djgpp with some success.
Thanks for the tip. I don't actually need it to be light. I just need it to be C90-compliant. The assembler I mentioned is designed to take the output of a customized GCC 3.2.3, which is a 3 MB executable and requires about 20 MB to recompile itself. So lots of memory needs to be thrown at it anyway. > > python.a(abstract.o)(.text+0x668c):abstract.c: undefined reference to > > `PyExc_StopIteration' > It's in 'Objects/exceptions.c'. When in doubt, look at the Thanks! > 'python*.map' files. I assume you have managed to build > Python 3 on Windows (?). There are no map files in the Python 3.3 distribution, and no, I haven't built it on Windows. I've never run python before. I tried typing in "python" to see if it came with Cygwin, but I got some stupid Windows store thing come up. > And BTW, it's also forwarded from 'python3.dll' via some > hacks in 'python3dll.c' to the real Python in 'Python310.dll' > (in my case): > pedump python3.dll | grep PyExc_StopIteration > 0000853A 227 PyExc_StopIteration (forwarder -> > python310.dll.PyExc_StopIteration) > > plus a lot more; it's quite ugly. Ok, I'm assuming that I can run without DLLs being involved. There are presumably other targets with no concept of DLLs. My latest problem is this: Objects/exceptions.c: ADD_ERRNO(ConnectionRefusedError, ECONNREFUSED); Those errno are non-standard (non-C90) and I assume other platforms can't cope with that either. But I can't see how other platforms are circumventing that problem. (ie I did a grep -R of the whole source code). I could define a stack of constants in pyconfig.h to allow the compile to go through, but I don't see anyone else doing the same thing. Is there some other way of circumventing the problem? Thanks. Paul. -- https://mail.python.org/mailman/listinfo/python-list