Message98913
| Author |
zvezdan |
| Recipients |
barry, brett.cannon, fdrake, mark.dickinson, ned.deily, ronaldoussoren, srid, zvezdan |
| Date |
2010年02月05日.21:56:19 |
| SpamBayes Score |
1.3151848e-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> |
|