Logged In: YES
user_id=28416
I've had a look at /usr/include/standards.h on my SGI, the
definition of ABIAPI
is located here. I cannot really understand what it is used
for (_ABIAPI), but
I guess it's something to allow binary compatibility
(o32/n32/64) for old libs.
The final point is the _ABIAPI *SHOULD NOT* been defined,
because it
forces the *old* termio structure. Python v2.3 uses the new
termio structure,
containing c_ospeed and c_ispeed.
About termios, the termio(7) man page says:
Old termio and termios
For compatibility with existing binaries, MIPS ABI
programs, and programs
that cannot be ported to use the new termio or termios
structures, the
old interfaces are retained. Existing binaries
automatically use the old
interfaces. By defining _OLD_TERMIOS at compile time
(before including
<termios.h>, <termio.h>, or <sys/ttydev.h>), the old
interfaces are in
effect.
As a matter of fact, recompiling Python v2.3 with
_ABI_SOURCE (i.e. _ABIAPI)
fails with the same error on Python termio module
(un-patched).
|