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