1If you read this file _as_is_, just ignore the funny characters you see. 2It is written in the POD format (see pod/perlpod.pod) which is specially 3designed to be readable as is. 4 5=head1 NAME 6 7README.beos - Perl version 5.8+ on BeOS 8 9=head1 DESCRIPTION 10 11This file contains instructions how to build Perl under BeOS and lists 12known problems. 13 14=head1 BUILD AND INSTALL 15 16=head2 Requirements 17 18I have built and tested Perl 5.8.6 and 5.9.1 under BeOS R5 x86 net server. 19I can't say anything with regard to PPC. Since Perl 5.8.0 had been released 20for BeOS BONE, I suspect, there is a good chance, that it still compiles on 21a BONE system. The only change I've made, that affects BONE systems is the 22recognition of whether it is a BONE system or not in C<hints/beos.sh>. Now 23network socket support should remain enabled on BONE systems. This might 24as well break the build, though. 25 26As more recent versions of autoconf require flock() support, I wrote a flock() 27emulation (flock_server) and released it on BeBits: 28 29 http://www.bebits.com/app/4030 30 31If you want to build a Perl with flock() support, you have to install this 32package first. 33 34=head2 Configure 35 36With flock() support: 37 38 CFLAGS=-I/path/to/flock/server/headers ./configure.gnu \ 39 --prefix=/boot/home/config 40 41Replace C</path/to/flock/server/headers> with the path to the directory 42containing the C<flock.h> header. 43 44Without flock() support: 45 46 ./configure.gnu --prefix=/boot/home/config 47 48=head2 Build 49 50With flock() support: 51 52 make LDLOADLIBS="-lnet -lflock" 53 54Without flock() support: 55 56 make LDLOADLIBS="-lnet" 57 58C<-lnet> is needed on net server systems only and if the compiler doesn't 59add it automatically (Be's R5 gcc does, Oliver Tappe's gcc 2.95.3 does not). 60 61=head2 Install 62 63Install all perl files: 64 65 make install 66 67Create a symlink for libperl: 68 69 cd ~/config/lib; ln -s perl5/5.8.6/BePC-beos/CORE/libperl.so . 70 71Replace C<5.8.6> with your respective version of Perl. 72 73=head1 KNOWN PROBLEMS 74 75=over 4 76 77=item * 78 79Network socket support is disabled for BeOS R5 net server. I didn't dare yet 80to try enabling it and see what problems occur. 81 82=item * 83 84The LFS (large file support) tests (C<t/op/lfs> and C<xt/Fcntl/t/syslfs>) are 85disabled as seeking beyond 2 GB is broken according to jhi@iki.fi who was the 86last one checking the BeOS port and updating this file before me. Haven't 87checked this myself. 88 89=item * 90 91The C<t/io/fflush> test fails at #6. As far as I can tell, this is caused by 92a bug in the BeOS pipes implementation that occurs when starting other child 93processes. In the particular test case a C<system("perl -e 0")> flushes the 94stdout pipe of another child process. 95 96=item * 97 98The C<ext/POSIX/t/waitpid> test fails at #1. After all child processes are 99gone BeOS' waitpid(-1,...) returns 0 instead of -1 (as it should). No idea 100how to fix this. 101 102=back 103 104=head1 CONTACT 105 106For BeOS specifics problems feel free to mail to: 107Ingo Weinhold <bonefish@cs.tu-berlin.de> 108 109Last update: 2004-12-16 110