mirror of https://github.com/python/cpython
Donn Cave <donn@oz.net>:
New README for BeOS R5. This closes SourceForge patch #101779.
This commit is contained in:
parent
02776adab8
commit
60ad79fdc3
83
BeOS/README
83
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 build,
|
||||
|
||||
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) ./configure --prefix=/boot/home/config
|
||||
|
||||
1) Get the latest Python source code from ftp.python.org.
|
||||
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
|
||||
|
||||
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.
|
||||
|
||||
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).
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue