X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=README.beos;h=de7bfaa3d085af00aca8c62531624edd856a5eb3;hb=588cafc81b146d309df37bae231b533d51bccb74;hp=8c24393d6eab649a686339cf7211341736f6fc04;hpb=6ee623d521a149edc6574c512fa951a192cd086a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/README.beos b/README.beos index 8c24393..de7bfaa 100644 --- a/README.beos +++ b/README.beos @@ -1,75 +1,116 @@ -$Id: README.beos,v 1.2 1998/05/02 01:55:04 dogcow Exp dogcow $ +If you read this file _as_is_, just ignore the funny characters you see. +It is written in the POD format (see pod/perlpod.pod) which is specially +designed to be readable as is. -Notes on building perl under BeOS: +=head1 NAME -GENERAL ISSUES --------------- -perl will almost compile straight out of the box with ./Configure -d, but -there are a few gotchas: +README.beos - Perl version 5 on BeOS -Currently, you have to edit config.sh and remove SDBM_File from the -dynamic_ext= and extensions= lines. SDBM_File does not build properly -at this time. You need to run ./Configure -S after editing config.sh. +=head1 DESCRIPTION -In addition, with mwcc, after doing `make depend`, you need to edit -makefile and x2p/makefile and remove the lines that mention 'Bletch:'. -This is not necessary if you're using gnu cpp. +Notes for building Perl under BeOS. -in short: -./Configure -d -remove SDBM_File from config.sh -./Configure -S -make depend -remove Bletch: from makefile and x2p/makefile -make +=head2 General Issues with Perl on BeOS -Other than that, perl should build without problems. There are some -technical comments in hints/beos.sh. +To compile perl under BeOS R4 x86: -OS RELEASE-SPECIFIC NOTES -------------------------- + ./Configure -d -PR1/PPC: -See R3/X86. Same bug, different form. +and hit ^C when it asks you if you want to make changes to config.sh; +edit config.sh and do the following: +change d_socket='define' to ='undef'; +remove SDBM, Errno, and Socket from dynamic_ext= and nonxs_ext=; +add '#define bool short' to x2p/a2p.h; -PR2/PPC: -Signals are somewhat unreliable, but they can work. Use caution. -The POSIX module is still somewhat buggy. + ../Configure -S; make; make install -R3/X86: -Under R3 x86, there are some serious problems with the math routines -such that numbers are incorrectly printed. This causes problems with -modules that encode their version numbers - in particular, IO.pm will -probably not work properly. This should be fixed under R3.1. + cd ~/config/lib; ln -s 5.00502/BeOS-BePC/CORE/libperl.so . -The problem has manifested itself if you see something similar to the -following during the compile: +(substitute 5.00502 with the appropriate filename) -cc -c -I/usr/local/include -O -DVERSION=\"1.1504\" -DXS_VERSION=\"1.1499999999\" -fpic -I../.. IO.c -(lots of 9's are the indication of the problem.) +=head2 BeOS Release-specific Notes -In the meantime, you can use the following workaround: +=over 4 -make perl -cd ext/IO -cc -c -I/usr/local/include -O -DVERSION=\"1.1504\" -DXS_VERSION=\"1.15\" -fpic -I../.. IO.c -cd .. -make +=item R4 x86 -(Substitute the correct numbers if IO has been updated.) +Dynamic loading finally works! Yay! This means you can compile your +own modules into perl. However, Sockets and Errno still don't work. +(Hopefully, sockets will at least work by R5, if not sooner.) -R3/PPC- -There's math problems, but of a different kind. In particular, -perl -e 'print (240000 - (3e4<<3))' gives a non-zero answer. -I'm looking into this. There is no workaround as yet. Hopefully, -this will be fixed in R3.1. +=item R4 PPC + +I have not tested this. I rather severely doubt that dynamic loading +will work. (My BeBox is in pieces right now, following a nasty disk +crash.) You may have to disable dynamic loading to get the thing to +compile at all. (use `./Configure` without -d, and say 'no' to 'Build +a shared libperl.so'.) + +=back + +=head2 Contact Information -CONTACT INFORMATION -------------------- If you have comments, problem reports, or even patches or bugfixes (gasp!) please email me. -1 May 1998 +28 Jan 1999 Tom Spindler -dogcow@merit.edu +dogcow@isi.net + +=head2 Update 2002-05-25 + +The following tests fail on 5.8.0 Perl in BeOS Personal 5.03: + + t/op/lfs............................FAILED at test 17 + t/op/magic..........................FAILED at test 24 + ext/Fcntl/t/syslfs..................FAILED at test 17 + ext/File/Glob/t/basic...............FAILED at test 3 + ext/POSIX/t/sigaction...............FAILED at test 13 + ext/POSIX/t/waitpid.................FAILED at test 1 + lib/Tie/File/t/16_handle............FAILED at test 39 + +The reasons for the failures are as follows: + +=over 4 + +=item * + +The op/lfs and Fcntl/t/syslfs seem to hit a real bug: though we can +seek around past the 2GB limit, reading from there doesn't work. +Therefore, please don't try doing large files in BeOS with Perl. + +=item * + +The op/magic failures look like something funny going on with $0 and +$^X that I can't now figure out: none of the generated pathnames are +wrong as such, they just seem to accumulate "./" prefixes and infixes +in ways that define logic. + +=item * + +The Glob/t/basic indicates a bug in the getpw*() functions of Perl: +they do not always return the correct user db entries. + +=item * + +The sigaction #13 means that signal mask doesn't get properly restored +if sigaction returns early. + +=item * + +The waitpid failure means that after there are no more child +processes, waitpid is supposed to start returning -1 (and set +errno to ECHILD). In BeOS, it doesn't seem to. + +=item * + +The Tie/File/t/16_handle seems to indicate some brokenness +(non-UNIXness) in how BeOS handles pipes. + +=back + +Disclaimer: I just installed BeOS Personal Edition 5.0 and the +Developer Tools, that is the whole extent of my BeOS expertise, +so please don't ask me for further help in BeOS Perl problems. +jhi@iki.fi