Post by Neal NorwitzAs some of you may have noticed, I recently checked in a bunch of
fixes that deal with portability. I have been granted access to the
snake farm, which allows me to test python on different architectures.
HPUX 11
AIX 4.2 & 4.3
Linux 2.4 & 2.2/Alpha
Solaris 8
SunOS 4.1.1
I am mostly testing 2.3, but can test 2.2 as well.
Right now, there is no easy way to tell if a bug on SF is specific to
a particular OS/architecture. There are already Macintosh and Windows
categories, perhaps a UNIX category should be added? In the meantime,
feel free to assign UNIX platform specific problems to me. I know
there are some FreeBSD problems. There is a FreeBSD machine in the SF
compile farm (ssh to compile.sf.net). Just in case someone wants to
try to fix the FreeBSD bugs. :-)
BTW, Python-CVS can't be compiled FreeBSD-CURRENT, nowadays.
Because FreeBSD-CURRENT hides non-POSIX stuffs on _POSIX_C_SOURCE mode,
Modules/posixmodule.c fails to find chroot, minor, major, makedev and etc.
This patch enables python builds on FreeBSD-CURRENT but I can't
find another generous workaround.
Index: configure.in
===================================================================
RCS file: /cvsroot/python/python/dist/src/configure.in,v
retrieving revision 1.362
diff -c -r1.362 configure.in
*** configure.in 2 Nov 2002 16:58:05 -0000 1.362
--- configure.in 4 Nov 2002 19:12:11 -0000
***************
*** 24,49 ****
AC_SUBST(SOVERSION)
SOVERSION=1.0
- # The later defininition of _XOPEN_SOURCE disables certain features
- # on Linux, so we need _GNU_SOURCE to re-enable them (makedev, tm_zone).
- AC_DEFINE(_GNU_SOURCE, 1, [Define on Linux to activate all library features])
-
- # The definition of _GNU_SOURCE potentially causes a change of the value
- # of _XOPEN_SOURCE. So define it only conditionally.
- AH_VERBATIM([_XOPEN_SOURCE],
- [/* Define on UNIX to activate XPG/5 features. */
- #ifndef _XOPEN_SOURCE
- # define _XOPEN_SOURCE 500
- #endif])
- AC_DEFINE(_XOPEN_SOURCE, 500)
-
- # On Tru64 Unix 4.0F, defining _XOPEN_SOURCE also requires definition
- # of _XOPEN_SOURCE_EXTENDED and _POSIX_C_SOURCE, or else several APIs
- # are not declared. Since this is also needed in some cases for HP-UX,
- # we define it globally.
- AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Define to activate Unix95-and-earlier features)
- AC_DEFINE(_POSIX_C_SOURCE, 199506L, Define to activate features from IEEE Stds 1003.{123}-1995)
-
# Arguments passed to configure.
AC_SUBST(CONFIG_ARGS)
CONFIG_ARGS="$ac_configure_args"
--- 24,29 ----
***************
*** 131,136 ****
--- 111,144 ----
fi
AC_MSG_RESULT($MACHDEP)
+ # The later defininition of _XOPEN_SOURCE disables certain features
+ # on Linux, so we need _GNU_SOURCE to re-enable them (makedev, tm_zone).
+ AC_DEFINE(_GNU_SOURCE, 1, [Define on Linux to activate all library features])
+
+ # The definition of _GNU_SOURCE potentially causes a change of the value
+ # of _XOPEN_SOURCE. So define it only conditionally.
+ AH_VERBATIM([_XOPEN_SOURCE],
+ [/* Define on UNIX to activate XPG/5 features. */
+ #if !defined(_XOPEN_SOURCE) && !defined(__FreeBSD__)
+ # define _XOPEN_SOURCE 500
+ #endif])
+
+ case $MACHDEP in
+ # FreeBSD hides non-POSIX functions on POSIX-compatible mode.
+ freebsd*)
+ ;;
+ *)
+ AC_DEFINE(_XOPEN_SOURCE, 500)
+
+ # On Tru64 Unix 4.0F, defining _XOPEN_SOURCE also requires definition
+ # of _XOPEN_SOURCE_EXTENDED and _POSIX_C_SOURCE, or else several APIs
+ # are not declared. Since this is also needed in some cases for HP-UX,
+ # we define it globally.
+ AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Define to activate Unix95-and-earlier features)
+ AC_DEFINE(_POSIX_C_SOURCE, 199506L, Define to activate features from IEEE Stds 1003.{123}-1995)
+ ;;
+ esac
+
# checks for alternative programs
AC_MSG_CHECKING(for --without-gcc)
AC_ARG_WITH(gcc,
But, this build gets segfault on installing.
... make install ...
./python -E ./setup.py install --prefix=/home/perky/test --install-scripts=/home/perky/test/bin --install-platlib=/home/perky/test/lib/python2.3/lib-dynload
running install
running build
running build_ext
Segmentation fault (core dumped)
*** Error code 139
#0 PyObject_Free (p=0x800) at Objects/obmalloc.c:713
713 if (ADDRESS_IN_RANGE(p, pool->arenaindex)) {
(gdb) bt
#0 PyObject_Free (p=0x800) at Objects/obmalloc.c:713
#1 0x080e0533 in function_call (func=0x8210b1c, arg=0x82129ac, kw=0x821ebdc)
at Objects/funcobject.c:481
#2 0x08059564 in PyObject_Call (func=0x0, arg=0x82129ac, kw=0x821ebdc) at Objects/abstract.c:1688
#3 0x0809ea95 in ext_do_call (func=0x8210b1c, pp_stack=0xbfbfddbc, flags=0, na=1, nk=0)
at Python/ceval.c:3438
#4 0x0809d14f in eval_frame (f=0x81f500c) at Python/ceval.c:2031
.....
Post by Neal NorwitzNeal
_______________________________________________
Python-Dev mailing list
http://mail.python.org/mailman/listinfo/python-dev
Regards,
--
Hye-Shik Chang <***@fallin.lv>
Yonsei University, Seoul
^D