From 60ad79fdc3c831925ebe5d90f35d917b2bef3546 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Fri, 6 Oct 2000 16:17:21 +0000 Subject: [PATCH] Donn Cave : New README for BeOS R5. This closes SourceForge patch #101779. --- BeOS/README | 83 +++++++++++++++++------------------------------------ 1 file changed, 27 insertions(+), 56 deletions(-) diff --git a/BeOS/README b/BeOS/README index 9b270debd5c..ab71bd9bb41 100644 --- a/BeOS/README +++ b/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