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

SourceForge.net noreply at sourceforge.net
Sat Mar 5 14:05:29 CET 2005


Patches item #1119626, was opened at 2005-02-09 22:18
Message generated for change (Comment added) made by loewis
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: Martin v. Löwis (loewis)
Date: 2005-03-05 14:05

Message:
Logged In: YES 
user_id=21627

I still don't understand why the openpty patch is needed.
You said "at least with the stub it compiles". Does this
imply that it won't compile without the stub? Why? If
HAVE_OPENPTY is not defined (as it apparently isn't), it
should compile just fine.

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

Comment By: Stuart D. Gathman (customdesigned)
Date: 2005-02-10 06:13

Message:
Logged In: YES 
user_id=142072

I am happy to be the aix-4.1 maintainer as long as we have
the systems.  You should list aix-4.1.5 as the oldest
supported version (since that is what I have.)  When the
last two 4.1 systems are gone in a few years, the oldest AIX
systems we have will be AIX 4.3.x - which is what the
majority of AIX4 users will have.

AIX rpms are available at http://bmsi.com/aix/  (and a
tar.gz of a binary rpm-3.0.6).

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

Comment By: Martin v. Löwis (loewis)
Date: 2005-02-10 05:40

Message:
Logged In: YES 
user_id=21627

We have PEP 11 (http://www.python.org/peps/pep-0011.html)
for such cases. 

If you don't mind, I can list you as the maintainer of the
AIX 4.1 port, and claim that we won't support any AIX
versions before that (I long wanted to find out what the
oldest AIX version is that we need to support).

Then, if you lose interest, or become unresponsive to
questions, we would mark AIX 4.1 as unsupported, removal of
the code to follow a release later.

We are certainly willing to take patches as long as people
want to contribute them in a timely manner; we don't want to
support Python on systems which don't have any users anymore.

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

Comment By: Stuart D. Gathman (customdesigned)
Date: 2005-02-10 04:25

Message:
Logged In: YES 
user_id=142072

As to assigning priority.  We have only 2 machines left
which still run AIX 4.1.  I wouldn't be mad if you simply
said "we don't support AIX 4.1 any more" so as not to
clutter the code with ifdefs for an older release that not
many people are still using.  However, those unix servers
just keep going and going, and python is a great scripting
language.  Maybe there should be a separate download page
for patches to get python to work with obscure/obsolete
systems - just so others don't have to repeat my debugging.

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

Comment By: Stuart D. Gathman (customdesigned)
Date: 2005-02-10 02: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-10 00: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-10 00: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