[Python-bugs-list] [ python-Bugs-406191 ] Mac OS X installation notes

nobody nobody@sourceforge.net
Mon, 05 Mar 2001 23:06:02 -0800


Bugs #406191, was updated on 2001-03-05 19:32
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=406191&group_id=5470

Category: Installation
Group: Platform-specific
Status: Open
Priority: 5
Submitted By: Nobody/Anonymous
Assigned to: Nobody/Anonymous
Summary: Mac OS X installation notes

Initial Comment:
I'm running a very recent Mac OS X build ("4K78"); here is 
what I found necessary in order to get 2.1b1 to build on that 
system.  It might be best to add notes about these things to 
the platform-specific part of the README.

First, though, please correct the spelling in the README
of "Mac OS X" -- the name has *two* spaces in it.  Spelling
it in a way inconsistent with Apple's intent makes it
harder (mac *os *x)  to find out where in the configure/
makefile it's mentioned.

Notes:


 - configure:
  OPT="-g -traditional-cpp"  ./configure --with-suffix=.exe --with-dyld


 - limit stacksize 2m
     (It defaults to a half-meg, and then one of the regular 
expression tests fails.)

 - disable the test_largefile test (I moved its source aside).
     This test should be enabled only on a Unix UFS filesystem.
 
- termios.h tries to define a bunch of things that do not exist 
on Mac OS X.

*** Modules/termios.c   Thu Mar  1 22:50:58 2001
--- ../Python-2.1b1-fixed/Modules/termios.c   Mon Mar  5 
15:43:05 2001
***************
*** 358,364 ****
        {"INLCR", INLCR},
        {"IGNCR", IGNCR},
        {"ICRNL", ICRNL},
!       {"IUCLC", IUCLC},
        {"IXON", IXON},
        {"IXANY", IXANY},
        {"IXOFF", IXOFF},
--- 358,364 ----
        {"INLCR", INLCR},
        {"IGNCR", IGNCR},
        {"ICRNL", ICRNL},
!       /* {"IUCLC", IUCLC}, No such thing on Mac OS X. */
        {"IXON", IXON},
        {"IXANY", IXANY},
        {"IXOFF", IXOFF},
***************
*** 366,405 ****
  
        /* struct termios.c_oflag constants */
        {"OPOST", OPOST},
!       {"OLCUC", OLCUC},
        {"ONLCR", ONLCR},
!       {"OCRNL", OCRNL},
!       {"ONOCR", ONOCR},
!       {"ONLRET", ONLRET},
!       {"OFILL", OFILL},
!       {"OFDEL", OFDEL},
!       {"NLDLY", NLDLY},
!       {"CRDLY", CRDLY},
!       {"TABDLY", TABDLY},
!       {"BSDLY", BSDLY},
!       {"VTDLY", VTDLY},
!       {"FFDLY", FFDLY},
  
        /* struct termios.c_oflag-related values (delay mask) */
!       {"NL0", NL0},
!       {"NL1", NL1},
!       {"CR0", CR0},
!       {"CR1", CR1},
!       {"CR2", CR2},
!       {"CR3", CR3},
!       {"TAB0", TAB0},
!       {"TAB1", TAB1},
!       {"TAB2", TAB2},
!       {"TAB3", TAB3},
  #ifdef XTABS
        {"XTABS", XTABS},
  #endif
!       {"BS0", BS0},
!       {"BS1", BS1},
!       {"VT0", VT0},
!       {"VT1", VT1},
!       {"FF0", FF0},
!       {"FF1", FF1},
  
        /* struct termios.c_cflag constants */
        {"CSIZE", CSIZE},
--- 366,405 ----
  
        /* struct termios.c_oflag constants */
        {"OPOST", OPOST},
!       /* {"OLCUC", OLCUC}, No such thing on Mac OS X. */
        {"ONLCR", ONLCR},
!       /* {"OCRNL", OCRNL}, No such thing on Mac OS X. */
!       /* {"ONOCR", ONOCR}, */
!       /* {"ONLRET", ONLRET}, */
!       /* {"OFILL", OFILL}, */
!       /* {"OFDEL", OFDEL}, */
!       /* {"NLDLY", NLDLY}, */
!       /* {"CRDLY", CRDLY}, */
!       /* {"TABDLY", TABDLY}, */
!       /* {"BSDLY", BSDLY}, */
!       /* {"VTDLY", VTDLY}, */
!       /* {"FFDLY", FFDLY}, */
  
        /* struct termios.c_oflag-related values (delay mask) */
!       /* {"NL0", NL0},
!           {"NL1", NL1},
!           {"CR0", CR0},
!           {"CR1", CR1},
!           {"CR2", CR2},
!           {"CR3", CR3},
!           {"TAB0", TAB0},
!           {"TAB1", TAB1},
!           {"TAB2", TAB2},
!           {"TAB3", TAB3}, */
  #ifdef XTABS
        {"XTABS", XTABS},
  #endif
!       /* {"BS0", BS0},
!          {"BS1", BS1},
!          {"VT0", VT0},
!          {"VT1", VT1},
!          {"FF0", FF0},
!          {"FF1", FF1}, */
  
        /* struct termios.c_cflag constants */
        {"CSIZE", CSIZE},


----------------------------------------------------------------------

Comment By: Martin v. Löwis
Date: 2001-03-05 23:06

Message:
Logged In: YES 
user_id=21627

Can you produce a patch that does most of this
automatically? Ideally, such a patch would work so that no
other system is affected. E.g. instead of commenting-out
certain constants, an #ifdef would be more desirable.
Likewise, the compiler options are best put into
configure.in, in a way that they are used on all systems
requiring these settings, and ignored on all other systems.
That,of course, requires that a test is introduced to find
out whether you've got the right kind of system.

In addition, I'd prefer if the number of settings needed is
reduced to the absolute minimum. E.g. why is it *necessary*
to compiler Python with -g on Mac OS X? Also, if --with-dyld
is *mandatory* on Mac OS X, why can you specify it as an
option? On all other systems, not using dynamic loading is
not an option. OTOH, if the LDSHARED case of -nostdlib -r
(which you get when you omit --with-dyld) works fine on your
system, why is it necessary to specify --with-dyld.

In short, instead of giving long instructions how to do it
right, I'd prefer if Python configuration did it right on
its own. If you are unsure how to achieve this effect, I
suggest you ask on the pythonmac list. Please upload any
patch you come up with into the patch manager, adding a
comment here that a patch is available.

----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=406191&group_id=5470