summaryrefslogtreecommitdiffstats
path: root/Misc/BeOS-NOTES
diff options
context:
space:
mode:
Diffstat (limited to 'Misc/BeOS-NOTES')
-rw-r--r--Misc/BeOS-NOTES93
1 files changed, 93 insertions, 0 deletions
diff --git a/Misc/BeOS-NOTES b/Misc/BeOS-NOTES
new file mode 100644
index 0000000..90013ee
--- /dev/null
+++ b/Misc/BeOS-NOTES
@@ -0,0 +1,93 @@
+Python for BeOS R5
+
+This directory contains several useful things to help you build your own
+version of Python for BeOS.
+
+What's Here?
+
+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
+ probably need this if you want to build dynamically loaded
+ modules from the Python archives.
+
+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
+ 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.
+
+To build,
+
+ 1) ./configure --prefix=/boot/home/config
+
+ 2) 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
+
+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)
+ 39477 python sem 10 25 4 python lock (1)(360022)
+ ^^^^^^
+ That last number is the semaphore the fork()'d python is stuck on
+ (see how it's helpfully called "python lock (1)"? :-). You can unblock
+ that semaphore to let the tests continue using the "release" command
+ with that semaphore number. Be _very_ careful with "release" though,
+ releasing the wrong semaphore can be hazardous.
+
+ Expect the following errors:
+
+ test * skipped -- an optional feature could not be imported (you'll see
+ quite a few of these, based on what optional modules
+ you've included)
+
+ test test_fork1 skipped -- can't mix os.fork with threads on BeOS
+
+ test test_select crashed -- select.error : (-2147459072, 'Bad file
+ descriptor')
+
+ test test_socket crashed -- exceptions.AttributeError : SOCK_RAW
+
+ These are all due to either partial support for certain things (like
+ sockets), or valid differences between systems.
+
+ 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.
+
+Install:
+
+ make install
+
+Enjoy!
+
+- Chris Herborth (chrish@pobox.com)
+ July 21, 2000
+
+- Donn Cave (donn@oz.net)
+ October 4, 2000