On Tuesday, March 23, 2021 at 10:19:46 PM UTC+11, Paul Edwards wrote: > 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.
I defined a stack of E* in pyconfig.h and here is my latest problem: ../Objects/longobject.c:940:5: #error "PyLong_FromVoidPtr: sizeof(void*) > sizeof(long), but no long long" /* Create a new long int object from a C pointer */ PyObject * PyLong_FromVoidPtr(void *p) { #ifndef HAVE_LONG_LONG # error "PyLong_FromVoidPtr: sizeof(void*) > sizeof(long), but no long long" #endif That to me sounds like having "long long" is compulsory, but the error it is showing is not correct. My "void *" is he same as "long", ie 32 bits. Everything I do is 32 bits unless I'm doing the occasional MSDOS build which is 16 bits. What's the point of having a variable HAVE_LONG_LONG if it's compulsory? "long long" is not C90. I don't have support for that. The "i370" target of GCC 3.2.3 doesn't have DI instructions working. Just 32 bits. Everything is 32 bits. Any suggestions? Thanks. Paul. -- https://mail.python.org/mailman/listinfo/python-list