summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>2000-10-06 16:17:21 (GMT)
committerFred Drake <fdrake@acm.org>2000-10-06 16:17:21 (GMT)
commit60ad79fdc3c831925ebe5d90f35d917b2bef3546 (patch)
tree23dda0f0efcd2be5dbfc72248d1e87e93e620a90
parent02776adab84476b40f091a6c11356b68ef9938e0 (diff)
downloadcpython-60ad79fdc3c831925ebe5d90f35d917b2bef3546.zip
cpython-60ad79fdc3c831925ebe5d90f35d917b2bef3546.tar.gz
cpython-60ad79fdc3c831925ebe5d90f35d917b2bef3546.tar.bz2
Donn Cave <donn@oz.net>:
New README for BeOS R5. This closes SourceForge patch #101779.
-rw-r--r--BeOS/README83
1 files changed, 27 insertions, 56 deletions
diff --git a/BeOS/README b/BeOS/README
index 9b270de..ab71bd9 100644
--- a/BeOS/README
+++ b/BeOS/README
@@ -5,14 +5,10 @@ version of Python for BeOS.
What's Here?
-ar-fake - A shell script used by the build process to emulate a "real"
- POSIX ar command; helps to build the Python shared library.
-
-dl_export.h - A header defining the evil magic declaration decorations
- required for dynamic loading.
-
-linkcc - A shell script used by the build process to build the Python
- shared library.
+ar-fake - A shell script that copies around .o files, for the as much
+ of the general effect of ar as we need but more fool-proof.
+ It also has an "so" command to build the shared library
+ that we actually install and use.
linkmodule - A shell script used by the build process to build the
shared library versions of the standard modules; you'll
@@ -22,65 +18,37 @@ linkmodule - A shell script used by the build process to build the
README - This file (obviously!).
README.readline-2.2 - Instructions for compiling/installing GNU readline 2.2.
- You'll have to grab the GNU readline source code from
+ You'll have to grab the GNU readline source code from
prep.ai.mit.edu:/pub/GNU or any other GNU mirror.
The Python interpreter is much nicer to work with
interactively if you've got readline installed. Highly
recommended.
-Compiling Your Own Version
-
-To compile your own version of Python 1.5.x for BeOS (with any luck,
-Python 1.5.2 and later will compile "out of the box" on BeOS), try this:
-
-1) Get the latest Python source code from ftp.python.org.
-
-2) Configure with:
-
- ./configure --verbose --prefix=/boot/home/config --with-thread
-
-3) Copy Modules/Setup.in to Modules/Setup.
-
-4) Edit Modules/Setup to turn on all the modules you want built.
+To build,
- Make sure you use _socket instead of socket for the name of the
- socketmodule on BeOS (at least, until we get the new BONE networking).
+ 1) ./configure --prefix=/boot/home/config
- If you want the modules to be built as shared libraries, instead of as
- part of the Python shared library, be sure to uncomment the #*shared*
- line. I haven't done much testing with static linking, it's not as
- interesting.
+ 2) cp Modules/Setup.in Modules/Setup
+ edit Modules/Setup
+ comment out grp and mmap, and pwd on 4.5 or earlier
+ uncomment any modules you want to include in python
+ (you can also add them later as shared libraries.)
+ 3) make
- I've tried the following modules:
-
- array audioop binascii cmath _codecs cPickle crypt cStringIO _curses
- errno fcntl gdbm grp imageop _locale math md5 new operator parser
- pcre posix pwd pyexpat readline regex rgbimg rotor select sha signal
- _socket soundex _sre strop struct syslog termios time timing ucnhash
- unicodedata zlib
-
- Note that some of these require extra libraries that aren't supplied
- with Python. If you don't have the extra libs (you can probably get
- them from GeekGadgets), don't try to use these modules; they won't
- compile.
-
-5) Make:
-
- make
-
-6) Test:
+Test:
make test
+ [Chris Herborth writes:]
test_popen2 will probably hang; it's deadlocked on a semaphore. I should
probably disable popen2 support... it uses fork(), and fork() doesn't mix
with threads on BeOS. In *THEORY* you could use it in a single-threaded
program, but I haven't tried.
-
+
If test_popen2 does hang, you can find the semaphore it's hung on via the
"ps" command. Look for python and you'll find something like this:
-
+
./python -tt ../src/Lib/test/regrtest.py (team 26922) (uid 0) (gid 0)
39472 python sem 10 3785 1500 piperd(360526)
./python -tt ../src/Lib/test/regrtest.py (team 26923) (uid 0) (gid 0)
@@ -100,10 +68,7 @@ Python 1.5.2 and later will compile "out of the box" on BeOS), try this:
test test_fork1 skipped -- can't mix os.fork with threads on BeOS
- test test_re failed -- Writing: '=== Failed incorrectly', expected:
- "('abc', 'abc', 0, 'fou"
-
- test test_select crashed -- select.error : (-2147459072, 'Bad file
+ test test_select crashed -- select.error : (-2147459072, 'Bad file
descriptor')
test test_socket crashed -- exceptions.AttributeError : SOCK_RAW
@@ -111,13 +76,19 @@ Python 1.5.2 and later will compile "out of the box" on BeOS), try this:
These are all due to either partial support for certain things (like
sockets), or valid differences between systems.
- That test_re failure is a little worrysome though.
+ test test_pickle crashed. This is apparently a serious problem,
+ "complex" number objects reconstructed from a
+ pickle don't compare equal to their ancestors.
+ But it happens on BeOS PPC only, not Intel.
-7) Install:
+Install:
make install
-8) Enjoy!
+Enjoy!
- Chris Herborth (chrish@pobox.com)
July 21, 2000
+
+- Donn Cave (donn@oz.net)
+ October 4, 2000