| 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. |
| |
| =head1 NAME |
| |
| perlbeos - Perl version 5.8+ on BeOS |
| |
| =head1 DESCRIPTION |
| |
| This file contains instructions how to build Perl under BeOS and lists |
| known problems. |
| |
| =head1 BUILD AND INSTALL |
| |
| =head2 Requirements |
| |
| 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 F<hints/beos.sh>. Now |
| network socket support should remain enabled on BONE systems. This might |
| as well break the build, though. |
| |
| As more recent versions of autoconf require flock() support, I wrote a flock() |
| emulation (flock_server) and released it on BeBits: |
| |
| http://www.bebits.com/app/4030 |
| |
| If you want to build a Perl with flock() support, you have to install this |
| package first. |
| |
| =head2 Configure |
| |
| With flock() support: |
| |
| CFLAGS=-I/path/to/flock/server/headers ./configure.gnu \ |
| --prefix=/boot/home/config |
| |
| Replace C</path/to/flock/server/headers> with the path to the directory |
| containing the C<flock.h> header. |
| |
| Without flock() support: |
| |
| ./configure.gnu --prefix=/boot/home/config |
| |
| =head2 Build |
| |
| 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 (F<t/op/lfs> and F<xt/Fcntl/t/syslfs>) 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 F<t/io/fflush> 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<system("perl -e 0")> flushes the |
| stdout pipe of another child process. |
| |
| =item * |
| |
| The F<ext/POSIX/t/waitpid> 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 <bonefish@cs.tu-berlin.de> |
| |
| Last update: 2004-12-16 |