mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
Moved BeOS/README to Misc/BeOS-NOTES.
This commit is contained in:
parent
b1dd9acded
commit
bd3e88893e
1 changed files with 0 additions and 0 deletions
93
Misc/BeOS-NOTES
Normal file
93
Misc/BeOS-NOTES
Normal file
|
@ -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
|
Loading…
Add table
Add a link
Reference in a new issue