diff options
Diffstat (limited to 'Misc/BeOS-NOTES')
-rw-r--r-- | Misc/BeOS-NOTES | 93 |
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 |