[Python-checkins] r43588 - python/trunk/README
anthony.baxter
python-checkins at python.org
Mon Apr 3 16:16:28 CEST 2006
Author: anthony.baxter
Date: Mon Apr 3 16:16:27 2006
New Revision: 43588
Modified:
python/trunk/README
Log:
added sqlite3 section
expanded tabs
fixed a couple of typos
removed .cvsignore reference
Modified: python/trunk/README
==============================================================================
--- python/trunk/README (original)
+++ python/trunk/README Mon Apr 3 16:16:27 2006
@@ -89,7 +89,7 @@
authors, translators, and people with special formatting requirements.
Unfortunately, new-style classes (new in Python 2.2) have not yet been
-integrated into Python's standard documention. A collection of
+integrated into Python's standard documentation. A collection of
pointers to what has been written is at:
http://www.python.org/doc/newstyle.html
@@ -114,7 +114,7 @@
mailing lists: see http://www.python.org/community/lists.html for an
overview of these and many other Python-related mailing lists.
-Archives are accessible via the Google Groups usenet archive; see
+Archives are accessible via the Google Groups Usenet archive; see
http://groups.google.com/. The mailing lists are also archived, see
http://www.python.org/community/lists.html for details.
@@ -257,28 +257,28 @@
above) so we can remove them!)
Unix platforms: If your vendor still ships (and you still use) Berkeley DB
- 1.85 you will need to edit Modules/Setup to build the bsddb185
- module and add a line to sitecustomize.py which makes it the
- default. In Modules/Setup a line like
+ 1.85 you will need to edit Modules/Setup to build the bsddb185
+ module and add a line to sitecustomize.py which makes it the
+ default. In Modules/Setup a line like
- bsddb185 bsddbmodule.c
+ bsddb185 bsddbmodule.c
- should work. (You may need to add -I, -L or -l flags to direct the
- compiler and linker to your include files and libraries.)
+ should work. (You may need to add -I, -L or -l flags to direct the
+ compiler and linker to your include files and libraries.)
XXX I think this next bit is out of date:
64-bit platforms: The modules audioop, imageop and rgbimg don't work.
- The setup.py script disables them on 64-bit installations.
- Don't try to enable them in the Modules/Setup file. They
- contain code that is quite wordsize sensitive. (If you have a
- fix, let us know!)
+ The setup.py script disables them on 64-bit installations.
+ Don't try to enable them in the Modules/Setup file. They
+ contain code that is quite wordsize sensitive. (If you have a
+ fix, let us know!)
Solaris: When using Sun's C compiler with threads, at least on Solaris
- 2.5.1, you need to add the "-mt" compiler option (the simplest
- way is probably to specify the compiler with this option as
- the "CC" environment variable when running the configure
- script).
+ 2.5.1, you need to add the "-mt" compiler option (the simplest
+ way is probably to specify the compiler with this option as
+ the "CC" environment variable when running the configure
+ script).
When using GCC on Solaris, beware of binutils 2.13 or GCC
versions built using it. This mistakenly enables the
@@ -290,136 +290,136 @@
and 2.8, but may also affect earlier and later versions of the
OS.
- When the dynamic loader complains about errors finding shared
- libraries, such as
+ When the dynamic loader complains about errors finding shared
+ libraries, such as
- ld.so.1: ./python: fatal: libstdc++.so.5: open failed:
- No such file or directory
+ ld.so.1: ./python: fatal: libstdc++.so.5: open failed:
+ No such file or directory
- you need to first make sure that the library is available on
- your system. Then, you need to instruct the dynamic loader how
- to find it. You can choose any of the following strategies:
-
- 1. When compiling Python, set LD_RUN_PATH to the directories
- containing missing libraries.
- 2. When running Python, set LD_LIBRARY_PATH to these directories.
- 3. Use crle(8) to extend the search path of the loader.
- 4. Modify the installed GCC specs file, adding -R options into the
- *link: section.
+ you need to first make sure that the library is available on
+ your system. Then, you need to instruct the dynamic loader how
+ to find it. You can choose any of the following strategies:
+
+ 1. When compiling Python, set LD_RUN_PATH to the directories
+ containing missing libraries.
+ 2. When running Python, set LD_LIBRARY_PATH to these directories.
+ 3. Use crle(8) to extend the search path of the loader.
+ 4. Modify the installed GCC specs file, adding -R options into the
+ *link: section.
The complex object fails to compile on Solaris 10 with gcc 3.4 (at
least up to 3.4.3). To work around it, define Py_HUGE_VAL as
HUGE_VAL(), e.g.:
make CPPFLAGS='-D"Py_HUGE_VAL=HUGE_VAL()" -I. -I$(srcdir)/Include'
- ./python setup.py CPPFLAGS='-D"Py_HUGE_VAL=HUGE_VAL()"'
+ ./python setup.py CPPFLAGS='-D"Py_HUGE_VAL=HUGE_VAL()"'
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.
+ 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.
Red Hat Linux: Red Hat 9 built Python2.2 in UCS-4 mode and hacked
- Tcl to support it. To compile Python2.3 with Tkinter, you will
- need to pass --enable-unicode=ucs4 flag to ./configure.
+ Tcl to support it. To compile Python2.3 with Tkinter, you will
+ need to pass --enable-unicode=ucs4 flag to ./configure.
- There's an executable /usr/bin/python which is Python
- 1.5.2 on most older Red Hat installations; several key Red Hat tools
- require this version. Python 2.1.x may be installed as
- /usr/bin/python2. The Makefile installs Python as
- /usr/local/bin/python, which may or may not take precedence
- over /usr/bin/python, depending on how you have set up $PATH.
+ There's an executable /usr/bin/python which is Python
+ 1.5.2 on most older Red Hat installations; several key Red Hat tools
+ require this version. Python 2.1.x may be installed as
+ /usr/bin/python2. The Makefile installs Python as
+ /usr/local/bin/python, which may or may not take precedence
+ over /usr/bin/python, depending on how you have set up $PATH.
FreeBSD 3.x and probably platforms with NCurses that use libmytinfo or
- similar: When using cursesmodule, the linking is not done in
- the correct order with the defaults. Remove "-ltermcap" from
- the readline entry in Setup, and use as curses entry: "curses
- cursesmodule.c -lmytinfo -lncurses -ltermcap" - "mytinfo" (so
- called on FreeBSD) should be the name of the auxiliary library
- required on your platform. Normally, it would be linked
- 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.
+ similar: When using cursesmodule, the linking is not done in
+ the correct order with the defaults. Remove "-ltermcap" from
+ the readline entry in Setup, and use as curses entry: "curses
+ cursesmodule.c -lmytinfo -lncurses -ltermcap" - "mytinfo" (so
+ called on FreeBSD) should be the name of the auxiliary library
+ required on your platform. Normally, it would be linked
+ 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.
+ --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,
- and pass SHELL=/bin/sh5 to Make when installing.
+ and pass SHELL=/bin/sh5 to Make when installing.
-AIX: A complete overhaul of the shared library support is now in
- place. See Misc/AIX-NOTES for some notes on how it's done.
- (The optimizer bug reported at this place in previous releases
- has been worked around by a minimal code change.) If you get
- errors about pthread_* functions, during compile or during
- testing, try setting CC to a thread-safe (reentrant) compiler,
- like "cc_r". For full C++ module support, set CC="xlC_r" (or
- CC="xlC" without thread support).
+AIX: A complete overhaul of the shared library support is now in
+ place. See Misc/AIX-NOTES for some notes on how it's done.
+ (The optimizer bug reported at this place in previous releases
+ has been worked around by a minimal code change.) If you get
+ errors about pthread_* functions, during compile or during
+ testing, try setting CC to a thread-safe (reentrant) compiler,
+ like "cc_r". For full C++ module support, set CC="xlC_r" (or
+ CC="xlC" without thread support).
AIX 5.3: To build a 64-bit version with IBM's compiler, I used the
following:
export PATH=/usr/bin:/usr/vacpp/bin
- ./configure --with-gcc="xlc_r -q64" --with-cxx="xlC_r -q64" \
+ ./configure --with-gcc="xlc_r -q64" --with-cxx="xlC_r -q64" \
--disable-ipv6 AR="ar -X64"
- make
+ make
HP-UX: When using threading, you may have to add -D_REENTRANT to the
- OPT variable in the top-level Makefile; reported by Pat Knight,
- this seems to make a difference (at least for HP-UX 10.20)
- even though pyconfig.h defines it. This seems unnecessary when
- using HP/UX 11 and later - threading seems to work "out of the
- box".
+ OPT variable in the top-level Makefile; reported by Pat Knight,
+ this seems to make a difference (at least for HP-UX 10.20)
+ even though pyconfig.h defines it. This seems unnecessary when
+ using HP/UX 11 and later - threading seems to work "out of the
+ box".
HP-UX ia64: When building on the ia64 (Itanium) platform using HP's
- compiler, some experience has shown that the compiler's
- optimiser produces a completely broken version of python
- (see http://www.python.org/sf/814976). To work around this,
- edit the Makefile and remove -O from the OPT line.
-
- To build a 64-bit executable on an Itanium 2 system using HP's
- compiler, use these environment variables:
-
- CC=cc
- CXX=aCC
- BASECFLAGS="+DD64"
- LDFLAGS="+DD64 -lxnet"
-
- and call configure as:
-
- ./configure --without-gcc
-
- then *unset* the environment variables again before running
- make. (At least one of these flags causes the build to fail
- if it remains set.) You still have to edit the Makefile and
- remove -O from the OPT line.
+ compiler, some experience has shown that the compiler's
+ optimiser produces a completely broken version of python
+ (see http://www.python.org/sf/814976). To work around this,
+ edit the Makefile and remove -O from the OPT line.
+
+ To build a 64-bit executable on an Itanium 2 system using HP's
+ compiler, use these environment variables:
+
+ CC=cc
+ CXX=aCC
+ BASECFLAGS="+DD64"
+ LDFLAGS="+DD64 -lxnet"
+
+ and call configure as:
+
+ ./configure --without-gcc
+
+ then *unset* the environment variables again before running
+ make. (At least one of these flags causes the build to fail
+ if it remains set.) You still have to edit the Makefile and
+ remove -O from the OPT line.
HP PA-RISC 2.0: A recent bug report (http://www.python.org/sf/546117)
- suggests that the C compiler in this 64-bit system has bugs
- in the optimizer that break Python. Compiling without
- optimization solves the problems.
-
-SCO: The following apply to SCO 3 only; Python builds out of the box
- on SCO 5 (or so we've heard).
-
- 1) Everything works much better if you add -U__STDC__ to the
- defs. This is because all the SCO header files are broken.
- Anything that isn't mentioned in the C standard is
- conditionally excluded when __STDC__ is defined.
-
- 2) Due to the U.S. export restrictions, SCO broke the crypt
- stuff out into a separate library, libcrypt_i.a so the LIBS
- needed be set to:
+ suggests that the C compiler in this 64-bit system has bugs
+ in the optimizer that break Python. Compiling without
+ optimization solves the problems.
+
+SCO: The following apply to SCO 3 only; Python builds out of the box
+ on SCO 5 (or so we've heard).
+
+ 1) Everything works much better if you add -U__STDC__ to the
+ defs. This is because all the SCO header files are broken.
+ Anything that isn't mentioned in the C standard is
+ conditionally excluded when __STDC__ is defined.
+
+ 2) Due to the U.S. export restrictions, SCO broke the crypt
+ stuff out into a separate library, libcrypt_i.a so the LIBS
+ needed be set to:
- LIBS=' -lsocket -lcrypt_i'
+ LIBS=' -lsocket -lcrypt_i'
UnixWare: There are known bugs in the math library of the system, as well as
problems in the handling of threads (calling fork in one
@@ -427,61 +427,61 @@
tests involving threads will fail until those problems are fixed.
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.
- THIS SYSTEM IS NO LONGER SUPPORTED.
+ '-Xa' option instead of '-Xc', to enable some needed non-ANSI
+ Sunisms.
+ THIS SYSTEM IS NO LONGER SUPPORTED.
NeXT: Not supported anymore. Start with the MacOSX/Darwin code if you
- want to revive it.
+ want to revive it.
-QNX: Chris Herborth (chrish at qnx.com) writes:
- configure works best if you use GNU bash; a port is available on
- ftp.qnx.com in /usr/free. I used the following process to build,
- test and install Python 1.5.x under QNX:
+QNX: Chris Herborth (chrish at qnx.com) writes:
+ configure works best if you use GNU bash; a port is available on
+ ftp.qnx.com in /usr/free. I used the following process to build,
+ test and install Python 1.5.x under QNX:
- 1) CONFIG_SHELL=/usr/local/bin/bash CC=cc RANLIB=: \
- ./configure --verbose --without-gcc --with-libm=""
+ 1) CONFIG_SHELL=/usr/local/bin/bash CC=cc RANLIB=: \
+ ./configure --verbose --without-gcc --with-libm=""
- 2) edit Modules/Setup to activate everything that makes sense for
- your system... tested here at QNX with the following modules:
+ 2) edit Modules/Setup to activate everything that makes sense for
+ your system... tested here at QNX with the following modules:
- array, audioop, binascii, cPickle, cStringIO, cmath,
- crypt, curses, errno, fcntl, gdbm, grp, imageop,
- _locale, math, md5, new, operator, parser, pcre,
- posix, pwd, readline, regex, reop, rgbimg, rotor,
- select, signal, socket, soundex, strop, struct,
- syslog, termios, time, timing, zlib, audioop, imageop, rgbimg
+ array, audioop, binascii, cPickle, cStringIO, cmath,
+ crypt, curses, errno, fcntl, gdbm, grp, imageop,
+ _locale, math, md5, new, operator, parser, pcre,
+ posix, pwd, readline, regex, reop, rgbimg, rotor,
+ select, signal, socket, soundex, strop, struct,
+ syslog, termios, time, timing, zlib, audioop, imageop, rgbimg
- 3) make SHELL=/usr/local/bin/bash
+ 3) make SHELL=/usr/local/bin/bash
- or, if you feel the need for speed:
+ or, if you feel the need for speed:
- make SHELL=/usr/local/bin/bash OPT="-5 -Oil+nrt"
+ make SHELL=/usr/local/bin/bash OPT="-5 -Oil+nrt"
- 4) make SHELL=/usr/local/bin/bash test
+ 4) make SHELL=/usr/local/bin/bash test
- Using GNU readline 2.2 seems to behave strangely, but I
- think that's a problem with my readline 2.2 port. :-\
+ Using GNU readline 2.2 seems to behave strangely, but I
+ think that's a problem with my readline 2.2 port. :-\
- 5) make SHELL=/usr/local/bin/bash install
+ 5) make SHELL=/usr/local/bin/bash install
- If you get SIGSEGVs while running Python (I haven't yet, but
- I've only run small programs and the test cases), you're
- probably running out of stack; the default 32k could be a
- little tight. To increase the stack size, edit the Makefile
- to read: LDFLAGS = -N 48k
+ If you get SIGSEGVs while running Python (I haven't yet, but
+ I've only run small programs and the test cases), you're
+ probably running out of stack; the default 32k could be a
+ little tight. To increase the stack size, edit the Makefile
+ to read: LDFLAGS = -N 48k
-BeOS: See Misc/BeOS-NOTES for notes about compiling/installing
- Python on BeOS R3 or later. Note that only the PowerPC
- platform is supported for R3; both PowerPC and x86 are
- supported for R4.
+BeOS: See Misc/BeOS-NOTES for notes about compiling/installing
+ Python on BeOS R3 or later. Note that only the PowerPC
+ platform is supported for R3; both PowerPC and x86 are
+ supported for R4.
Cray T3E: Mark Hadfield (m.hadfield at niwa.co.nz) writes:
- Python can be built satisfactorily on a Cray T3E but based on
- my experience with the NIWA T3E (2002-05-22, version 2.2.1)
- there are a few bugs and gotchas. For more information see a
- thread on comp.lang.python in May 2002 entitled "Building
- Python on Cray T3E".
+ Python can be built satisfactorily on a Cray T3E but based on
+ my experience with the NIWA T3E (2002-05-22, version 2.2.1)
+ there are a few bugs and gotchas. For more information see a
+ thread on comp.lang.python in May 2002 entitled "Building
+ Python on Cray T3E".
1) Use Cray's cc and not gcc. The latter was reported not to
work by Konrad Hinsen. It may work now, but it may not.
@@ -491,45 +491,45 @@
MACHDEP=unicosmk
- 2) Run configure with option "--enable-unicode=ucs4".
+ 2) Run configure with option "--enable-unicode=ucs4".
- 3) The Cray T3E does not support dynamic linking, so extension
- modules have to be built by adding (or uncommenting) lines
- in Modules/Setup. The minimum set of modules is
-
- posix, new, _sre, unicodedata
-
- On NIWA's vanilla T3E system the following have also been
- included successfully:
-
- _codecs, _locale, _socket, _symtable, _testcapi, _weakref
- array, binascii, cmath, cPickle, crypt, cStringIO, dbm
- errno, fcntl, grp, math, md5, operator, parser, pcre, pwd
- regex, rotor, select, struct, strop, syslog, termios
- time, timing, xreadlines
-
- 4) Once the python executable and library have been built, make
- will execute setup.py, which will attempt to build remaining
- extensions and link them dynamically. Each of these attempts
- will fail but should not halt the make process. This is
- normal.
-
- 5) Running "make test" uses a lot of resources and causes
- problems on our system. You might want to try running tests
- singly or in small groups.
-
-SGI: SGI's standard "make" utility (/bin/make or /usr/bin/make)
- does not check whether a command actually changed the file it
- is supposed to build. This means that whenever you say "make"
- it will redo the link step. The remedy is to use SGI's much
- smarter "smake" utility (/usr/sbin/smake), or GNU make. If
- you set the first line of the Makefile to #!/usr/sbin/smake
- smake will be invoked by make (likewise for GNU make).
-
- WARNING: There are bugs in the optimizer of some versions of
- SGI's compilers that can cause bus errors or other strange
- behavior, especially on numerical operations. To avoid this,
- try building with "make OPT=".
+ 3) The Cray T3E does not support dynamic linking, so extension
+ modules have to be built by adding (or uncommenting) lines
+ in Modules/Setup. The minimum set of modules is
+
+ posix, new, _sre, unicodedata
+
+ On NIWA's vanilla T3E system the following have also been
+ included successfully:
+
+ _codecs, _locale, _socket, _symtable, _testcapi, _weakref
+ array, binascii, cmath, cPickle, crypt, cStringIO, dbm
+ errno, fcntl, grp, math, md5, operator, parser, pcre, pwd
+ regex, rotor, select, struct, strop, syslog, termios
+ time, timing, xreadlines
+
+ 4) Once the python executable and library have been built, make
+ will execute setup.py, which will attempt to build remaining
+ extensions and link them dynamically. Each of these attempts
+ will fail but should not halt the make process. This is
+ normal.
+
+ 5) Running "make test" uses a lot of resources and causes
+ problems on our system. You might want to try running tests
+ singly or in small groups.
+
+SGI: SGI's standard "make" utility (/bin/make or /usr/bin/make)
+ does not check whether a command actually changed the file it
+ is supposed to build. This means that whenever you say "make"
+ it will redo the link step. The remedy is to use SGI's much
+ smarter "smake" utility (/usr/sbin/smake), or GNU make. If
+ you set the first line of the Makefile to #!/usr/sbin/smake
+ smake will be invoked by make (likewise for GNU make).
+
+ WARNING: There are bugs in the optimizer of some versions of
+ SGI's compilers that can cause bus errors or other strange
+ behavior, especially on numerical operations. To avoid this,
+ try building with "make OPT=".
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
@@ -569,8 +569,8 @@
additions.
Some people have reported problems building Python after using "fink"
- to install additional unix software. Disabling fink (remove all references
- to /sw from your .profile or .login) should solve this.
+ to install additional unix software. Disabling fink (remove all
+ references to /sw from your .profile or .login) should solve this.
You may want to try the configure option "--enable-framework"
which installs Python as a framework. The location can be set
@@ -602,8 +602,8 @@
#SSL=/usr/local/ssl
#_socket socketmodule.c \
- # -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
- # -L$(SSL)/lib -lssl -lcrypto
+ # -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
+ # -L$(SSL)/lib -lssl -lcrypto
and remove "local/" from the SSL variable. Finally, just run
"make"!
@@ -648,69 +648,69 @@
AtheOS: From Octavian Cerna <tavy at ylabs.com>:
- Before building:
+ Before building:
- Make sure you have shared versions of the libraries you
- want to use with Python. You will have to compile them
- yourself, or download precompiled packages.
+ Make sure you have shared versions of the libraries you
+ want to use with Python. You will have to compile them
+ yourself, or download precompiled packages.
- Recommended libraries:
+ Recommended libraries:
- ncurses-4.2
- readline-4.2a
- zlib-1.1.4
+ ncurses-4.2
+ readline-4.2a
+ zlib-1.1.4
- Build:
+ Build:
- $ ./configure --prefix=/usr/python
- $ make
+ $ ./configure --prefix=/usr/python
+ $ make
- Python is always built as a shared library, otherwise
- dynamic loading would not work.
+ Python is always built as a shared library, otherwise
+ dynamic loading would not work.
- Testing:
+ Testing:
- $ make test
+ $ make test
- Install:
+ Install:
- # make install
- # pkgmanager -a /usr/python
+ # make install
+ # pkgmanager -a /usr/python
- AtheOS issues:
+ AtheOS issues:
- - large file support: due to a stdio bug in glibc/libio,
- access to large files may not work correctly. fseeko()
- tries to seek to a negative offset. ftello() returns a
- negative offset, it looks like a 32->64bit
- sign-extension issue. The lowlevel functions (open,
- lseek, etc) are OK.
- - sockets: AF_UNIX is defined in the C library and in
- Python, but not implemented in the system.
- - select: poll is available in the C library, but does not
- work (It does not return POLLNVAL for bad fds and
- hangs).
- - posix: statvfs and fstatvfs always return ENOSYS.
- - disabled modules:
- - mmap: not yet implemented in AtheOS
- - nis: broken (on an unconfigured system
- yp_get_default_domain() returns junk instead of
- error)
- - dl: dynamic loading doesn't work via dlopen()
- - resource: getrimit and setrlimit are not yet
- implemented
+ - large file support: due to a stdio bug in glibc/libio,
+ access to large files may not work correctly. fseeko()
+ tries to seek to a negative offset. ftello() returns a
+ negative offset, it looks like a 32->64bit
+ sign-extension issue. The lowlevel functions (open,
+ lseek, etc) are OK.
+ - sockets: AF_UNIX is defined in the C library and in
+ Python, but not implemented in the system.
+ - select: poll is available in the C library, but does not
+ work (It does not return POLLNVAL for bad fds and
+ hangs).
+ - posix: statvfs and fstatvfs always return ENOSYS.
+ - disabled modules:
+ - mmap: not yet implemented in AtheOS
+ - nis: broken (on an unconfigured system
+ yp_get_default_domain() returns junk instead of
+ error)
+ - dl: dynamic loading doesn't work via dlopen()
+ - resource: getrimit and setrlimit are not yet
+ implemented
- - if you are getting segmentation faults, you probably are
- low on memory. AtheOS doesn't handle very well an
- out-of-memory condition and simply SEGVs the process.
+ - if you are getting segmentation faults, you probably are
+ low on memory. AtheOS doesn't handle very well an
+ out-of-memory condition and simply SEGVs the process.
- Tested on:
+ Tested on:
- AtheOS-0.3.7
- gcc-2.95
- binutils-2.10
- make-3.78
+ AtheOS-0.3.7
+ gcc-2.95
+ binutils-2.10
+ make-3.78
Configuring the bsddb and dbm modules
@@ -728,6 +728,17 @@
other preferred alternatives (ndbm, gdbm) are not found, though
versions of the Sleepycat library prior to 3.1 are not considered.
+Building the sqlite3 module
+---------------------------
+
+To build the sqlite3 module, you'll need the sqlite3 or libsqlite3
+packages installed, including the header files. Many modern operating
+systems distribute the headers in a separate package to the library -
+often it will be the same name as the main package, but with a -dev or
+-devel suffix.
+
+The version of pysqlite2 that's including in Python needs sqlite3 3.0.8
+or later. setup.py attempts to check that it can find a correct version.
Configuring threads
-------------------
@@ -757,17 +768,17 @@
SunOS 5.{1-5}/{gcc,SunPro cc}/solaris -mt
SunOS 5.5/{gcc,SunPro cc}/POSIX (nothing)
DEC OSF/1 3.x/cc/DCE -threads
- (butenhof at zko.dec.com)
+ (butenhof at zko.dec.com)
Digital UNIX 4.x/cc/DCE -threads
- (butenhof at zko.dec.com)
+ (butenhof at zko.dec.com)
Digital UNIX 4.x/cc/POSIX -pthread
- (butenhof at zko.dec.com)
+ (butenhof at zko.dec.com)
AIX 4.1.4/cc_r/d7 (nothing)
- (buhrt at iquest.net)
+ (buhrt at iquest.net)
AIX 4.1.4/cc_r4/DCE (nothing)
- (buhrt at iquest.net)
+ (buhrt at iquest.net)
IRIX 6.2/cc/POSIX (nothing)
- (robertl at cwi.nl)
+ (robertl at cwi.nl)
Linker (ld) libraries and flags for threads
@@ -778,15 +789,15 @@
SunOS 5.{1-5}/solaris -lthread
SunOS 5.5/POSIX -lpthread
DEC OSF/1 3.x/DCE -lpthreads -lmach -lc_r -lc
- (butenhof at zko.dec.com)
+ (butenhof at zko.dec.com)
Digital UNIX 4.x/DCE -lpthreads -lpthread -lmach -lexc -lc
- (butenhof at zko.dec.com)
+ (butenhof at zko.dec.com)
Digital UNIX 4.x/POSIX -lpthread -lmach -lexc -lc
- (butenhof at zko.dec.com)
+ (butenhof at zko.dec.com)
AIX 4.1.4/{draft7,DCE} (nothing)
- (buhrt at iquest.net)
+ (buhrt at iquest.net)
IRIX 6.2/POSIX -lpthread
- (jph at emilia.engr.sgi.com)
+ (jph at emilia.engr.sgi.com)
Building a shared libpython
@@ -896,7 +907,7 @@
*don't* include the output of "make test". It is useless. Run the
failing test manually, as follows:
- ./python ./Lib/test/test_whatever.py
+ ./python ./Lib/test/test_whatever.py
(substituting the top of the source tree for '.' if you built in a
different directory). This runs the test in verbose mode.
@@ -909,7 +920,7 @@
(see below), include files, configuration files, and the manual page,
just type
- make install
+ make install
This will install all platform-independent files in subdirectories of
the directory given with the --prefix option to configure or to the
@@ -934,7 +945,7 @@
If you have a previous installation of Python that you don't
want to replace yet, use
- make altinstall
+ make altinstall
This installs the same set of files as "make install" except it
doesn't create the hard link to "python<version>" named "python" and
@@ -963,77 +974,77 @@
Modules/getpath.o.
--with(out)-gcc: The configure script uses gcc (the GNU C compiler) if
- it finds it. If you don't want this, or if this compiler is
- installed but broken on your platform, pass the option
- --without-gcc. You can also pass "CC=cc" (or whatever the
- name of the proper C compiler is) in the environment, but the
- advantage of using --without-gcc is that this option is
- remembered by the config.status script for its --recheck
- option.
+ it finds it. If you don't want this, or if this compiler is
+ installed but broken on your platform, pass the option
+ --without-gcc. You can also pass "CC=cc" (or whatever the
+ name of the proper C compiler is) in the environment, but the
+ advantage of using --without-gcc is that this option is
+ remembered by the config.status script for its --recheck
+ option.
--prefix, --exec-prefix: If you want to install the binaries and the
- Python library somewhere else than in /usr/local/{bin,lib},
- you can pass the option --prefix=DIRECTORY; the interpreter
- binary will be installed as DIRECTORY/bin/python and the
- library files as DIRECTORY/lib/python/*. If you pass
- --exec-prefix=DIRECTORY (as well) this overrides the
- installation prefix for architecture-dependent files (like the
- interpreter binary). Note that --prefix=DIRECTORY also
- affects the default module search path (sys.path), when
- Modules/config.c is compiled. Passing make the option
- prefix=DIRECTORY (and/or exec_prefix=DIRECTORY) overrides the
- prefix set at configuration time; this may be more convenient
- than re-running the configure script if you change your mind
- about the install prefix.
+ Python library somewhere else than in /usr/local/{bin,lib},
+ you can pass the option --prefix=DIRECTORY; the interpreter
+ binary will be installed as DIRECTORY/bin/python and the
+ library files as DIRECTORY/lib/python/*. If you pass
+ --exec-prefix=DIRECTORY (as well) this overrides the
+ installation prefix for architecture-dependent files (like the
+ interpreter binary). Note that --prefix=DIRECTORY also
+ affects the default module search path (sys.path), when
+ Modules/config.c is compiled. Passing make the option
+ prefix=DIRECTORY (and/or exec_prefix=DIRECTORY) overrides the
+ prefix set at configuration time; this may be more convenient
+ than re-running the configure script if you change your mind
+ about the install prefix.
--with-readline: This option is no longer supported. GNU
- readline is automatically enabled by setup.py when present.
+ readline is automatically enabled by setup.py when present.
--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.
+ 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.
--with-sgi-dl: On SGI IRIX 4, dynamic loading of extension modules is
- supported by the "dl" library by Jack Jansen, which is
- ftp'able from ftp://ftp.cwi.nl/pub/dynload/dl-1.6.tar.Z.
- This is enabled (after you've ftp'ed and compiled the dl
- library) by passing --with-sgi-dl=DIRECTORY where DIRECTORY
- is the absolute pathname of the dl library. (Don't bother on
- IRIX 5, it already has dynamic linking using SunOS style
- shared libraries.) THIS OPTION IS UNSUPPORTED.
+ supported by the "dl" library by Jack Jansen, which is
+ ftp'able from ftp://ftp.cwi.nl/pub/dynload/dl-1.6.tar.Z.
+ This is enabled (after you've ftp'ed and compiled the dl
+ library) by passing --with-sgi-dl=DIRECTORY where DIRECTORY
+ is the absolute pathname of the dl library. (Don't bother on
+ IRIX 5, it already has dynamic linking using SunOS style
+ shared libraries.) THIS OPTION IS UNSUPPORTED.
--with-dl-dld: Dynamic loading of modules is rumored to be supported
- on some other systems: VAX (Ultrix), Sun3 (SunOS 3.4), Sequent
- Symmetry (Dynix), and Atari ST. This is done using a
- combination of the GNU dynamic loading package
- (ftp://ftp.cwi.nl/pub/dynload/dl-dld-1.1.tar.Z) and an
- emulation of the SGI dl library mentioned above (the emulation
- can be found at
- ftp://ftp.cwi.nl/pub/dynload/dld-3.2.3.tar.Z). To
- enable this, ftp and compile both libraries, then call
- configure, passing it the option
- --with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY where DL_DIRECTORY is
- the absolute pathname of the dl emulation library and
- DLD_DIRECTORY is the absolute pathname of the GNU dld library.
- (Don't bother on SunOS 4 or 5, they already have dynamic
- linking using shared libraries.) THIS OPTION IS UNSUPPORTED.
+ on some other systems: VAX (Ultrix), Sun3 (SunOS 3.4), Sequent
+ Symmetry (Dynix), and Atari ST. This is done using a
+ combination of the GNU dynamic loading package
+ (ftp://ftp.cwi.nl/pub/dynload/dl-dld-1.1.tar.Z) and an
+ emulation of the SGI dl library mentioned above (the emulation
+ can be found at
+ ftp://ftp.cwi.nl/pub/dynload/dld-3.2.3.tar.Z). To
+ enable this, ftp and compile both libraries, then call
+ configure, passing it the option
+ --with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY where DL_DIRECTORY is
+ the absolute pathname of the dl emulation library and
+ DLD_DIRECTORY is the absolute pathname of the GNU dld library.
+ (Don't bother on SunOS 4 or 5, they already have dynamic
+ linking using shared libraries.) THIS OPTION IS UNSUPPORTED.
--with-libm, --with-libc: It is possible to specify alternative
- versions for the Math library (default -lm) and the C library
- (default the empty string) using the options
- --with-libm=STRING and --with-libc=STRING, respectively. For
- example, if your system requires that you pass -lc_s to the C
- compiler to use the shared C library, you can pass
- --with-libc=-lc_s. These libraries are passed after all other
- libraries, the C library last.
+ versions for the Math library (default -lm) and the C library
+ (default the empty string) using the options
+ --with-libm=STRING and --with-libc=STRING, respectively. For
+ example, if your system requires that you pass -lc_s to the C
+ compiler to use the shared C library, you can pass
+ --with-libc=-lc_s. These libraries are passed after all other
+ libraries, the C library last.
--with-libs='libs': Add 'libs' to the LIBS that the python interpreter
- is linked against.
+ is linked against.
--with-cxx=<compiler>: Some C++ compilers require that main() is
compiled with the C++ if there is any C++ code in the application.
@@ -1045,15 +1056,15 @@
--with-pydebug: Enable additional debugging code to help track down
- memory management problems. This allows printing a list of all
- live objects when the interpreter terminates.
+ memory management problems. This allows printing a list of all
+ live objects when the interpreter terminates.
--with(out)-universal-newlines: enable reading of text files with
- foreign newline convention (default: enabled). In other words,
- any of \r, \n or \r\n is acceptable as end-of-line character.
- If enabled import and execfile will automatically accept any newline
- in files. Python code can open a file with open(file, 'U') to
- read it in universal newline mode. THIS OPTION IS UNSUPPORTED.
+ foreign newline convention (default: enabled). In other words,
+ any of \r, \n or \r\n is acceptable as end-of-line character.
+ If enabled import and execfile will automatically accept any newline
+ in files. Python code can open a file with open(file, 'U') to
+ read it in universal newline mode. THIS OPTION IS UNSUPPORTED.
--with-tsc: Profile using the Pentium timestamping counter (TSC).
@@ -1076,13 +1087,13 @@
in /usr/tmp/python (assuming ~guido/src/python is the toplevel
directory and you want to build in /usr/tmp/python):
- $ mkdir /usr/tmp/python
- $ cd /usr/tmp/python
- $ ~guido/src/python/configure
- [...]
- $ make
- [...]
- $
+ $ mkdir /usr/tmp/python
+ $ cd /usr/tmp/python
+ $ ~guido/src/python/configure
+ [...]
+ $ make
+ [...]
+ $
Note that configure copies the original Setup file to the build
directory if it finds no Setup file there. This means that you can
@@ -1179,13 +1190,12 @@
Most subdirectories have their own README files. Most files have
comments.
-.cvsignore Additional filename matching patterns for CVS to ignore
-BeOS/ Files specific to the BeOS port
+BeOS/ Files specific to the BeOS port
Demo/ Demonstration scripts, modules and programs
-Doc/ Documentation sources (LaTeX)
+Doc/ Documentation sources (LaTeX)
Grammar/ Input for the parser generator
Include/ Public header files
-LICENSE Licensing information
+LICENSE Licensing information
Lib/ Python library modules
Mac/ Macintosh specific resources
Makefile.pre.in Source from which config.status creates the Makefile.pre
@@ -1193,7 +1203,7 @@
Modules/ Implementation of most built-in modules
Objects/ Implementation of most built-in object types
PC/ Files specific to PC ports (DOS, Windows, OS/2)
-PCbuild/ Build directory for Microsoft Visual C++
+PCbuild/ Build directory for Microsoft Visual C++
Parser/ The parser and tokenizer and their input handling
Python/ The byte-compiler and interpreter
README The file you're reading now
@@ -1202,6 +1212,7 @@
configure Configuration shell script (GNU autoconf output)
configure.in Configuration specification (input for GNU autoconf)
install-sh Shell script used to install files
+setup.py Python script used to build extension modules
The following files will (may) be created in the toplevel directory by
the configuration and build processes:
@@ -1213,8 +1224,8 @@
pyconfig.h Configuration header
config.log Log from last configure run
config.status Status from last run of the configure script
-getbuildinfo.o Object file from Modules/getbuildinfo.c
-libpython<version>.a The library archive
+getbuildinfo.o Object file from Modules/getbuildinfo.c
+libpython<version>.a The library archive
python The executable interpreter
tags, TAGS Tags files for vi and Emacs
More information about the Python-checkins
mailing list