Subject: pkg/28373: several problems compiling lang/python23 on IRIX 5.3
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <georg.schwarz@freenet.de>
List: pkgsrc-bugs
Date: 11/21/2004 02:37:00
>Number: 28373
>Category: pkg
>Synopsis: several problems compiling lang/python23 on IRIX 5.3
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Nov 21 02:37:00 +0000 2004
>Originator: Georg Schwarz
>Release: current pkgsrc
>Organization:
>Environment:
IRIX lorenz 5.3 08031225 IP20 mips
>Description:
There are several issues with compiling on23 on IRIX 5.3:
- Python 2.3.4 bug ID #1070140: endianness not detected correctly (seems to be fixed with python2.4)
- corresponding issue to pkg/26507
- On IRIX 5.3 /usr/include/sys/types.h contains:
#if ( !defined(_XOPEN_SOURCE) && !defined(_POSIX_SOURCE) ) ||
defined(_BSD_TYPES) || defined(_BSD_COMPAT)
/*
* Nested include for BSD/sockets source compatibility.
* (The select macros used to be defined here).
*/
#include <sys/bsd_types.h>
#endif
sys/bsd_types.h however defines u_int.
If _XOPEN_SOURCE is defined (in pyconfig.h) this results in u_int not
being known and the compilation to fail.
>How-To-Repeat:
>Fix:
The first two issues are fixed by the following patch:
--- Makefile.common.orig Sat Nov 20 21:00:28 2004
+++ Makefile.common Sat Nov 20 21:32:28 2004
@@ -29,8 +29,10 @@
.endif
PLIST_SRC+= ${.CURDIR}/../../lang/python23/PLIST.common_end
-.if ${OPSYS} == "Darwin" || ${OPSYS} == "Interix" || ${OPSYS} == "IRIX"
+.if ${OPSYS} == "Darwin" || ${OPSYS} == "Interix"
PY_PLATNAME= ${LOWER_OPSYS}
+.elif ${OPSYS} == "IRIX"
+PY_PLATNAME= ${LOWER_OPSYS:C/\..*//}
.elif ${OPSYS} == "SunOS"
PY_PLATNAME= sunos${OS_VERSION:C/\..*//}
.else
@@ -37,6 +39,11 @@
PY_PLATNAME= ${LOWER_OPSYS}${OS_VERSION:C/\..*//}
.endif
PLIST_SUBST+= PY_PLATNAME=${PY_PLATNAME}
+
+# work around missing sys/endian.h support for IRIX 5.3
+.if ${MACHINE_ARCH} == "mipseb"
+CONFIGURE_ENV+= ac_cv_c_bigendian="yes"
+.endif
# the dl module isn't built for 64 bit archs and Darwin
.if ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH} == "amd64" \
The third issue is solved by patching configure as follows:
--- configure.orig 2004-08-08 00:18:33.000000000 +0200
+++ configure 2004-08-08 00:18:59.000000000 +0200
@@ -1466,6 +1466,8 @@
# has another value. By not (re)defining it, the defaults come in
place.
AIX/4)
define_xopen_source=no;;
+ IRIX/5.*)
+ define_xopen_source=no;;
esac
if test $define_xopen_source = yes