X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/6ee623d521a149edc6574c512fa951a192cd086a..0added8b15cac1ea71069426f604832d35edbd96:/README.beos diff --git a/README.beos b/README.beos index 8c24393..0a01f50 100644 --- a/README.beos +++ b/README.beos @@ -1,75 +1,109 @@ -$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.8+ 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. +This file contains instructions how to build Perl under BeOS and lists +known problems. -in short: -./Configure -d -remove SDBM_File from config.sh -./Configure -S -make depend -remove Bletch: from makefile and x2p/makefile -make +=head1 BUILD AND INSTALL -Other than that, perl should build without problems. There are some -technical comments in hints/beos.sh. +=head2 Requirements -OS RELEASE-SPECIFIC NOTES -------------------------- +I have built and tested Perl 5.8.6 and 5.9.1 under BeOS R5 x86 net server. +I can't say anything with regard to PPC. Since Perl 5.8.0 had been released +for BeOS BONE, I suspect, there is a good chance, that it still compiles on +a BONE system. The only change I've made, that affects BONE systems is the +recognition of whether it is a BONE system or not in C. Now +network socket support should remain enabled on BONE systems. This might +as well break the build, though. -PR1/PPC: -See R3/X86. Same bug, different form. +As more recent versions of autoconf require flock() support, I wrote a flock() +emulation (flock_server) and released it on BeBits: -PR2/PPC: -Signals are somewhat unreliable, but they can work. Use caution. -The POSIX module is still somewhat buggy. + http://www.bebits.com/app/4030 -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. +If you want to build a Perl with flock() support, you have to install this +package first. -The problem has manifested itself if you see something similar to the -following during the compile: +=head2 Configure -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.) +With flock() support: -In the meantime, you can use the following workaround: + CFLAGS=-I/path/to/flock/server/headers ./configure.gnu \ + --prefix=/boot/home/config -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 +Replace C with the path to the directory +containing the C header. -(Substitute the correct numbers if IO has been updated.) +Without flock() support: -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. + ./configure.gnu --prefix=/boot/home/config -CONTACT INFORMATION -------------------- -If you have comments, problem reports, or even patches or bugfixes (gasp!) -please email me. +=head2 Build -1 May 1998 -Tom Spindler -dogcow@merit.edu +With flock() support: + make LDLOADLIBS="-lnet -lflock" + +Without flock() support: + + make LDLOADLIBS="-lnet" + +C<-lnet> is needed on net server systems only and if the compiler doesn't +add it automatically (Be's R5 gcc does, Oliver Tappe's gcc 2.95.3 does not). + +=head2 Install + +Install all perl files: + + make install + +Create a symlink for libperl: + + cd ~/config/lib; ln -s perl5/5.8.6/BePC-beos/CORE/libperl.so . + +Replace C<5.8.6> with your respective version of Perl. + +=head1 KNOWN PROBLEMS + +=over 4 + +=item * + +Network socket support is disabled for BeOS R5 net server. I didn't dare yet +to try enabling it and see what problems occur. + +=item * + +The LFS (large file support) tests (C and C) are +disabled as seeking beyond 2 GB is broken according to jhi@iki.fi who was the +last one checking the BeOS port and updating this file before me. Haven't +checked this myself. + +=item * + +The C test fails at #6. As far as I can tell, this is caused by +a bug in the BeOS pipes implementation that occurs when starting other child +processes. In the particular test case a C flushes the +stdout pipe of another child process. + +=item * + +The C test fails at #1. After all child processes are +gone BeOS' waitpid(-1,...) returns 0 instead of -1 (as it should). No idea +how to fix this. + +=back + +=head1 CONTACT + +For BeOS specifics problems feel free to mail to: +Ingo Weinhold + +Last update: 2004-12-16