RE: [PATCH] compress 2.018
[p5sagit/p5-mst-13.2.git] / README.beos
CommitLineData
a83b6f46 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.
c4f23d77 4
a83b6f46 5=head1 NAME
6
e56d2c04 7README.beos - Perl version 5.8+ on BeOS
a83b6f46 8
9=head1 DESCRIPTION
10
e56d2c04 11This file contains instructions how to build Perl under BeOS and lists
12known problems.
a83b6f46 13
e56d2c04 14=head1 BUILD AND INSTALL
c4f23d77 15
e56d2c04 16=head2 Requirements
c4f23d77 17
e56d2c04 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.
c4f23d77 25
e56d2c04 26As more recent versions of autoconf require flock() support, I wrote a flock()
27emulation (flock_server) and released it on BeBits:
c4f23d77 28
e56d2c04 29 http://www.bebits.com/app/4030
a83b6f46 30
e56d2c04 31If you want to build a Perl with flock() support, you have to install this
32package first.
c4f23d77 33
e56d2c04 34=head2 Configure
c4f23d77 35
e56d2c04 36With flock() support:
a83b6f46 37
e56d2c04 38 CFLAGS=-I/path/to/flock/server/headers ./configure.gnu \
39 --prefix=/boot/home/config
a83b6f46 40
e56d2c04 41Replace C</path/to/flock/server/headers> with the path to the directory
42containing the C<flock.h> header.
a83b6f46 43
e56d2c04 44Without flock() support:
c4f23d77 45
e56d2c04 46 ./configure.gnu --prefix=/boot/home/config
a83b6f46 47
e56d2c04 48=head2 Build
a83b6f46 49
e56d2c04 50With flock() support:
a83b6f46 51
e56d2c04 52 make LDLOADLIBS="-lnet -lflock"
c4f23d77 53
e56d2c04 54Without flock() support:
c4f23d77 55
e56d2c04 56 make LDLOADLIBS="-lnet"
c4f23d77 57
e56d2c04 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).
dff18f87 60
e56d2c04 61=head2 Install
dff18f87 62
e56d2c04 63Install all perl files:
dff18f87 64
e56d2c04 65 make install
dff18f87 66
e56d2c04 67Create a symlink for libperl:
dff18f87 68
e56d2c04 69 cd ~/config/lib; ln -s perl5/5.8.6/BePC-beos/CORE/libperl.so .
dff18f87 70
e56d2c04 71Replace C<5.8.6> with your respective version of Perl.
72
73=head1 KNOWN PROBLEMS
74
75=over 4
096506c9 76
77=item *
78
e56d2c04 79Network socket support is disabled for BeOS R5 net server. I didn't dare yet
80to try enabling it and see what problems occur.
dff18f87 81
82=item *
83
e56d2c04 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.
8c1bea16 88
89=item *
90
e56d2c04 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.
dff18f87 95
96=item *
97
e56d2c04 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.
dff18f87 101
dff18f87 102=back
103
e56d2c04 104=head1 CONTACT
105
106For BeOS specifics problems feel free to mail to:
107Ingo Weinhold <bonefish@cs.tu-berlin.de>
dff18f87 108
e56d2c04 109Last update: 2004-12-16