[Patches] [ python-Patches-1119626 ] patches to compile for AIX 4.1.x

SourceForge.net noreply at sourceforge.net
Thu Feb 10 02:26:21 CET 2005


Patches item #1119626, was opened at 2005-02-09 16:18
Message generated for change (Comment added) made by customdesigned
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1119626&group_id=5470

Category: Core (C code)
Group: Python 2.4
Status: Open
Resolution: None
Priority: 5
Submitted By: Stuart D. Gathman (customdesigned)
Assigned to: Nobody/Anonymous (nobody)
Summary: patches to compile for AIX 4.1.x

Initial Comment:
Support for AIX 4.1 got lost, or was dropped with
python 2.3.  The only thing AIX 4.1 needs over generic
AIX support is a call to loadbind when loading dynamic
modules.  This patch also provides stubs for openpty in
posixmodule and wgetnstr in cursesmodule.  The openpty
stub is non-functional.  The wgetnstr stub is
functional, but uses a fixed size temporary buffer.

----------------------------------------------------------------------

>Comment By: Stuart D. Gathman (customdesigned)
Date: 2005-02-09 20:26

Message:
Logged In: YES 
user_id=142072

openpty patch:

The openpty stub is nonfunctional.  I spent a day trying to
emulate enough pty stuff on AIX 4.1 to get it to work - but
failed.  At least with the stub it compiles.  Almost
everything else works on AIX 4.1 (need to get db4.2
installed for bsddb to work, curses has a few bugs).  AIX
4.1 has BSD style ptys (with matching pty and tty pairs),
and also sysv style where opening a magic device assigns you
an arbitrary minor device number.  I'm pretty sure it is
possible to make ptys work reasonably with python on aix
4.1, but I haven't had time to get it to work.  By returning
ENOENT, python code that depends on pty support thinks that
none are available - which is effectively the case at present.

dynload_aix patch:

The change to dynload_aix.c was correct for aix 4.2 and
later.  It is only aix 4.1 that requires the call to
loadbind.  That is why the restored code is ifdefed for
_AIX41 specifically.

I did notice during the lifecycle of python 2.3, in that I
never got python2.3 to run on aix4.1 - but I didn't have
time to track down the problem.  I am just getting around to
it now, but thought I'd go for 2.4 instead.

----------------------------------------------------------------------

Comment By: Guido van Rossum (gvanrossum)
Date: 2005-02-09 18:55

Message:
Logged In: YES 
user_id=6380

Sorry, I don't have a clue any more.

----------------------------------------------------------------------

Comment By: Martin v. Löwis (loewis)
Date: 2005-02-09 18:46

Message:
Logged In: YES 
user_id=21627

I don't understand the patch. Why do you provide an
implementation of openpty that says it creates a pseudo tty
master slave pair, and is implementented by setting errno to
ENOENT?

The changes to remove loadbind were made in dynload_aix.c
2.12, where Guido applied #568629, which in turn was from
Oren Tirosh. It was meant to replace the new module, so I
presume the change to dynload_aix was unintentional (but
then, it is probably no problem, as nobody noticed during
the entire life of Python 2.3).

Assigning this to gvanrossum for further comments, and also
asking orenti to comment.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1119626&group_id=5470


More information about the Patches mailing list