[Python-checkins] CVS: python/dist/src README,1.91,1.92

Guido van Rossum python-dev@python.org
Tue, 29 Aug 2000 14:36:42 -0700


Update of /cvsroot/python/python/dist/src
In directory slayer.i.sourceforge.net:/tmp/cvs-serv8463

Modified Files:
	README 
Log Message:
Various tweaks and improvements by Thomas Wouters (who apparently lost
the patch or forgot about it -- this is easier than reminding him).


Index: README
===================================================================
RCS file: /cvsroot/python/python/dist/src/README,v
retrieving revision 1.91
retrieving revision 1.92
diff -C2 -r1.91 -r1.92
*** README	2000/08/23 21:33:04	1.91
--- README	2000/08/29 21:36:40	1.92
***************
*** 20,24 ****
  To start building right away (on UNIX): type "./configure" in the
  current directory and when it finishes, type "make".  The section
! Build Instructions below is still recommended reading. :-)
  
  
--- 20,25 ----
  To start building right away (on UNIX): type "./configure" in the
  current directory and when it finishes, type "make".  The section
! Build Instructions below is still recommended reading, especially the
! part on customizing Modules/Setup.
  
  
***************
*** 68,73 ****
  system configuration and creates several Makefiles.  (It takes a
  minute or two -- please be patient!)  When it's done, you are ready to
! run make.  You may want to pass options to the configure script -- see
! the section below on configuration options and variables.
  
  To build Python, you normally type "make" in the toplevel directory.
--- 69,75 ----
  system configuration and creates several Makefiles.  (It takes a
  minute or two -- please be patient!)  When it's done, you are ready to
! run make.  You may want to pass options to the configure script, or
! edit the Setup file -- see the section below on configuration options
! and variables.
  
  To build Python, you normally type "make" in the toplevel directory.
***************
*** 114,117 ****
--- 116,130 ----
  the OPT variable.
  
+ If you get failures in test_long, or sys.maxint gets set to -1, you
+ are probably experiencing compiler bugs, usually related to
+ optimization.  This is a common problem with some versions of gcc and
+ egcs, and some vendor-supplied compilers, which can sometimes be
+ worked around by turning off optimization.  Consider switching to
+ stable versions (gcc 2.7.2.3, egcs 1.1.2, or contact your vendor.)
+ 
+ From Python 2.0 onward, all Python C code is ANSI C.  Compiling using
+ old K&R-C-only compilers is no longer possible.  ANSI C compilers are
+ available for all modern systems, either in the form of updated
+ compilers from the vendor, or one of the free compilers (gcc, egcs).
  
  Platform specific notes
***************
*** 133,173 ****
  	script).
  
! Linux:  On Linux version 1.x, once you've built Python, use it to run
! 	the regen script in the Lib/linux1 directory.  Apparently
! 	the files as distributed don't match the system headers on
! 	some Linux versions.  (The "h2py" command refers to
! 	Tools/scripts/h2py.py.)  The modules distributed for Linux 2.x
! 	should be okay.  Shared library support now works by default
! 	on ELF-based x86 Linux systems.  (Note: when you change the
! 	status of a module from static to shared, you must remove its
! 	.o file or do a "make clean".)
! 
! 	Under RedHat Linux 5.0, if upgraded from a previous version,
! 	remove the LinuxThreads packages.  This is needed because
! 	LinuxThreads conflicts with the new thread support provided by
! 	glibc.  Before running Python's configure script, use the
! 	following commands as root (version numbers may differ; these
! 	are from a stock 4.2 install):
! 
! 	% rpm -qa | grep ^linuxthread
! 	linuxthreads-0.5-1
! 	linuxthreads-devel-0.5-1
! 	% rpm -e linuxthreads linuxthreads-devel
! 
! 	While Python only needs this to be done to allow thread
! 	support to be included, the conflicts these packages create
! 	with the new glibc may cause other packages which use threads
! 	to fail as well, so their removal is a good idea regardless of
! 	how you configure python.
! 
! 	More recently, a problem with threads and fork() was tracked
! 	down to a bug in the pthreads code in glibc version 2.0.5;
! 	glibc version 2.0.7 solves the problem.  This causes the
! 	popen2 test to fail; problem and solution reported by Pablo
! 	Bleyer.
! 
! 	Also under RedHat Linux 5.0, the crypt module now needs the
! 	-lcrypt option.  Uncomment this flag in Modules/Setup, or
! 	comment out the crypt module in the same file.
  
  FreeBSD 3.x and probably platforms with NCurses that use libmytinfo or
--- 146,158 ----
  	script).
  
! Linux:  A problem with threads and fork() was tracked down to a bug in
! 	the pthreads code in glibc version 2.0.5; glibc version 2.0.7
! 	solves the problem.  This causes the popen2 test to fail;
! 	problem and solution reported by Pablo Bleyer.
! 
! 	Under Linux systems using GNU libc 2 (aka libc6), the crypt
! 	module now needs the -lcrypt option.  Uncomment this flag in
! 	Modules/Setup, or comment out the crypt module in the same
! 	file. Most modern Linux systems use glibc2.
  
  FreeBSD 3.x and probably platforms with NCurses that use libmytinfo or
***************
*** 180,188 ****
  	automatically, but not necessarily in the correct order.
  
! DEC Unix: When enabling threads, use --with-dec-threads, not
! 	--with-thread.  When using GCC, it is possible to get an
! 	internal compiler error if optimization is used.  This was
! 	reported for GCC 2.7.2.3 on selectmodule.c.  Manually compile
! 	the affected file without optimization to solve the problem.
  
  DEC Ultrix: compile with GCC to avoid bugs in the native compiler,
--- 165,180 ----
  	automatically, but not necessarily in the correct order.
  
! BSDI:	BSDI versions before 4.1 have known problems with threads,
! 	which can cause strange errors in a number of modules (for
! 	instance, the 'test_signal' test script will hang forever.)
! 	Turning off threads (with --with-threads=no) or upgrading to
! 	BSDI 4.1 solves this problem.
! 
! DEC Unix: Run configure with --with-dec-threads, or with
! 	--with-threads=no if no threads are desired (threads are on by
! 	default).  When using GCC, it is possible to get an internal
! 	compiler error if optimization is used.  This was reported for
! 	GCC 2.7.2.3 on selectmodule.c.  Manually compile the affected
! 	file without optimization to solve the problem.
  
  DEC Ultrix: compile with GCC to avoid bugs in the native compiler,
***************
*** 219,229 ****
  		LIBS=' -lsocket -lcrypt_i'
  
! SunOS 4.x: When using the standard "cc" compiler, certain modules may
! 	not be compilable because they use non-K&R syntax.  You should
! 	be able to get a basic Python interpreter by commenting out
! 	such modules in the Modules/Setup file, but I really recommend
! 	using gcc.
! 
! 	When using the SunPro C compiler, you may want to use the
  	'-Xa' option instead of '-Xc', to enable some needed non-ANSI
  	Sunisms.
--- 211,215 ----
  		LIBS=' -lsocket -lcrypt_i'
  
! SunOS 4.x: When using the SunPro C compiler, you may want to use the
  	'-Xa' option instead of '-Xc', to enable some needed non-ANSI
  	Sunisms.
***************
*** 279,283 ****
  	   that the Cray assembler doesn't like. Cray's cc seems to work
  	   fine.
! 	2) Uncomment modules md5 (won't compile) and audioop (will
  	   crash the interpreter during the test suite).
  	If you run the test suite, two tests will fail (rotate and
--- 265,269 ----
  	   that the Cray assembler doesn't like. Cray's cc seems to work
  	   fine.
! 	2) Comment out modules md5 (won't compile) and audioop (will
  	   crash the interpreter during the test suite).
  	If you run the test suite, two tests will fail (rotate and
***************
*** 293,306 ****
  	smake will be invoked by make (likewise for GNU make).
  
- 	A bug in the MIPSpro 7.1 compiler's optimizer seems to break
- 	Modules/pypcre.c.  The short term solution is to compile it
- 	without optimization.  The bug is fixed in version 7.2.1 of
- 	the compiler.
- 
- 	A bug in gcc-2.8.1 sets sys.maxint to -1 which *also* seems to
- 	break Modules/pypcre.c.  The egcs versions of gcc fix this
- 	problem.  Or use configure --without-gcc to compile with SGI's
- 	compiler, if you have it.  (Raj Srinivasan, Kelvin Chu)
- 
  OS/2:   If you are running Warp3 or Warp4 and have IBM's VisualAge C/C++
          compiler installed, just change into the pc\os2vacpp directory
--- 279,282 ----
***************
*** 320,334 ****
  -------------------
  
! The main switch to configure threads is to run the configure script
! (see below) with the --with-thread switch (on DEC, use
! --with-dec-threads).  Unfortunately, on some platforms, additional
! compiler and/or linker options are required.  Below is a table of
! those options, collected by Bill Janssen.  I would love to automate
! this process more, but the information below is not enough to write a
! patch for the configure.in file, so manual intervention is required.
! If you patch the configure.in file and are confident that the patch
! works, please send me the patch.  (Don't bother patching the configure
! script itself -- it is regenerated each the configure.in file
! changes.)
  
  Compiler switches for threads
--- 296,310 ----
  -------------------
  
! As of Python 2.0, threads are enabled by default.  If you wish to
! compile without threads, or if your thread support is broken, pass the
! --with-threads=no switch to configure.  Unfortunately, on some
! platforms, additional compiler and/or linker options are required for
! threads to work properly.  Below is a table of those options,
! collected by Bill Janssen.  I would love to automate this process
! more, but the information below is not enough to write a patch for the
! configure.in file, so manual intervention is required.  If you patch
! the configure.in file and are confident that the patch works, please
! send me the patch.  (Don't bother patching the configure script itself
! -- it is regenerated each the configure.in file changes.)
  
  Compiler switches for threads
***************
*** 398,402 ****
  
  For SunOS and Solaris, enable module "sunaudiodev" to support the
! audio device.
  
  In addition to the file Setup, you can also edit the file Setup.local.
--- 374,378 ----
  
  For SunOS and Solaris, enable module "sunaudiodev" to support the
! audio device. Likewise, for Linux systems, enable "linuxaudiodev".
  
  In addition to the file Setup, you can also edit the file Setup.local.
***************
*** 521,534 ****
  	readline, enable module "readline" in the Modules/Setup file.
  
! --with-thread: On most Unix systems, you can now use multiple threads.
! 	To enable this, pass --with-thread.  (--with-threads is an
! 	alias.)  If the library required for threads lives in a
! 	peculiar place, you can use --with-thread=DIRECTORY.  NOTE:
! 	you must also enable the thread module by uncommenting it in
! 	the Modules/Setup file.  (Threads aren't enabled automatically
! 	because there are run-time penalties when support for them is
! 	compiled in even if you don't use them.)  IMPORTANT: run "make
! 	clean" after changing (either enabling or disabling) this
! 	option, or you will get link errors!  Note: for DEC Unix use
  	--with-dec-threads instead.
  
--- 497,507 ----
  	readline, enable module "readline" in the Modules/Setup file.
  
! --with-threads: On most Unix systems, you can now use multiple
! 	threads, and support for this is enabled by default.  To
! 	disable this, pass --with-threads=no.  If the library required
! 	for threads lives in a peculiar place, you can use
! 	--with-thread=DIRECTORY.  IMPORTANT: run "make clean" after
! 	changing (either enabling or disabling) this option, or you
! 	will get link errors!  Note: for DEC Unix use
  	--with-dec-threads instead.