Donn Cave <donn@oz.net>:

New README for BeOS R5.

This closes SourceForge patch #101779.
This commit is contained in:
Fred Drake 2000-10-06 16:17:21 +00:00
parent 02776adab8
commit 60ad79fdc3
1 changed files with 27 additions and 56 deletions

View File

@ -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