Line 59 of samba4.0.0-alpha11/source4/utils/net.c file, at line 59
uses "Py_ssize_t", which was not defined in Python until Python 2.5.
This causes havoc trying to compile it on RHEL 5, which uses Python
2.4 and which I cannot recommend upgrading the Python for in a
production server environment. (I've tried that: it causes dependency
hell in RHEL.)

So, I suggest adding this patch to allow successful compilation with
older RHEL versions. The code is duplicated from wml_wrap.c, and seems
to behave correctly in my casual testing.

--- samba-4.0.0alpha11/source4/utils/net/net.c.oldpython        2010-01-11
00:35:28.000000000 -0500
+++ samba-4.0.0alpha11/source4/utils/net/net.c  2010-08-22
11:44:59.000000000 -0400
@@ -52,6 +52,15 @@
 #include <Python.h>
 #include "scripting/python/modules.h"

+/* Py_ssize_t for old Pythons */
+/* This code is as recommended by: */
+/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
+#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+typedef int Py_ssize_t;
+# define PY_SSIZE_T_MAX INT_MAX
+# define PY_SSIZE_T_MIN INT_MIN
+#endif
+
 static PyObject *py_tuple_from_argv(int argc, const char *argv[])
 {
        PyObject *l;
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba

Reply via email to