Author zvezdan
Recipients barry, brett.cannon, fdrake, mark.dickinson, ned.deily, ronaldoussoren, srid, zvezdan
Date 2010-02-05.21:56:19
SpamBayes Score 1.31518e-08
Marked as misclassified No
Message-id <1265406982.59.0.573757879597.issue6877@psf.upfronthosting.co.za>
In-reply-to
Content
Barry,

I'm sorry, I only now noticed this line in your compilation on 10.5:

/Users/barry/projects/python/python26/Modules/readline.c:41: error: conflicting types for 'completion_matches'

This problem was introduced by a patch in issue4204.
See my comments in msg82619 and msg92482.
They've been ignored because the issue was closed, and I did not have a right to reopen it.

Please notice that my original patch attached here (readline-trunk.patch) has this part in it, which is very important for 10.5:

@@ -6,6 +6,7 @@
 
 /* Standard definitions */
 #include "Python.h"
+#include <stdlib.h>
 #include <setjmp.h>
 #include <signal.h>
 #include <errno.h>

Ronald has omitted that part when he was changing the patch and I completely forgot about its importance since I'm running 10.6 and did not have problems.

Initially my first version of the patch was checking for __APPLE__ and avoided to re-define completion_matches on lines 35-36.  I used that patch when 2.6.1 came out in my personal builds. 

Then I found out that including stdlib early avoided the problem.

I really do not have a 10.5 machine to test on now.
Can you please try inserting that include <stdlib.h> and see if 10.5 builds readline?

If yes, I'd be glad to make a new patch against 2.6 branch and trunk/3.x branch (probably need the same include line).

If not, then we need to make a choice of #ifdef __FreeBSD__ as I suggested in issue4204, or #ifndef __APPLE__ as I used in my first personal version of the patch.

The problem with re-definition of completion_matches did not exist in 2.4 and 2.5 and is definitely introduced by a patch in issue 4204, which annoyed me because it broke a modern OS to support a very old version of FreeBSD (4.x).
:-)

<aside note>
That said, I still think that configure.in should not treat 10.5 as 10.3 because Leopard was a big change to the UNIX 2003 specification and too many things are different between 10.3/10.4 and 10.5/10.6.

We had a discussion on pythonmac-sig about it and people mostly agreed but I do not remember if any issue was opened in the tracker to act on it or not.
</aside note>
History
Date User Action Args
2010-02-05 21:56:22zvezdansetrecipients: + zvezdan, fdrake, barry, brett.cannon, ronaldoussoren, mark.dickinson, ned.deily, srid
2010-02-05 21:56:22zvezdansetmessageid: <1265406982.59.0.573757879597.issue6877@psf.upfronthosting.co.za>
2010-02-05 21:56:21zvezdanlinkissue6877 messages
2010-02-05 21:56:19zvezdancreate