.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.el \{\
.    de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "PERLBEOS 1"
.TH PERLBEOS 1 "2009-02-12" "perl v5.10.1" "Perl Programmers Reference Guide"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
README.beos \- Perl version 5.8+ on BeOS
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This file contains instructions how to build Perl under BeOS and lists
known problems.
.SH "BUILD AND INSTALL"
.IX Header "BUILD AND INSTALL"
.SS "Requirements"
.IX Subsection "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 \s-1PPC\s0. Since Perl 5.8.0 had been released
for BeOS \s-1BONE\s0, I suspect, there is a good chance, that it still compiles on
a \s-1BONE\s0 system. The only change I've made, that affects \s-1BONE\s0 systems is the
recognition of whether it is a \s-1BONE\s0 system or not in \f(CW\*(C`hints/beos.sh\*(C'\fR. Now
network socket support should remain enabled on \s-1BONE\s0 systems. This might
as well break the build, though.
.PP
As more recent versions of autoconf require \fIflock()\fR support, I wrote a \fIflock()\fR
emulation (flock_server) and released it on BeBits:
.PP
.Vb 1
\&        http://www.bebits.com/app/4030
.Ve
.PP
If you want to build a Perl with \fIflock()\fR support, you have to install this
package first.
.SS "Configure"
.IX Subsection "Configure"
With \fIflock()\fR support:
.PP
.Vb 2
\&        CFLAGS=\-I/path/to/flock/server/headers ./configure.gnu \e
\&                \-\-prefix=/boot/home/config
.Ve
.PP
Replace \f(CW\*(C`/path/to/flock/server/headers\*(C'\fR with the path to the directory
containing the \f(CW\*(C`flock.h\*(C'\fR header.
.PP
Without \fIflock()\fR support:
.PP
.Vb 1
\&        ./configure.gnu \-\-prefix=/boot/home/config
.Ve
.SS "Build"
.IX Subsection "Build"
With \fIflock()\fR support:
.PP
.Vb 1
\&        make LDLOADLIBS="\-lnet \-lflock"
.Ve
.PP
Without \fIflock()\fR support:
.PP
.Vb 1
\&        make LDLOADLIBS="\-lnet"
.Ve
.PP
\&\f(CW\*(C`\-lnet\*(C'\fR 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).
.SS "Install"
.IX Subsection "Install"
Install all perl files:
.PP
.Vb 1
\&        make install
.Ve
.PP
Create a symlink for libperl:
.PP
.Vb 1
\&        cd ~/config/lib; ln \-s perl5/5.8.6/BePC\-beos/CORE/libperl.so .
.Ve
.PP
Replace \f(CW5.8.6\fR with your respective version of Perl.
.SH "KNOWN PROBLEMS"
.IX Header "KNOWN PROBLEMS"
.IP "\(bu" 4
Network socket support is disabled for BeOS R5 net server. I didn't dare yet
to try enabling it and see what problems occur.
.IP "\(bu" 4
The \s-1LFS\s0 (large file support) tests (\f(CW\*(C`t/op/lfs\*(C'\fR and \f(CW\*(C`xt/Fcntl/t/syslfs\*(C'\fR) are
disabled as seeking beyond 2 \s-1GB\s0 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.
.IP "\(bu" 4
The \f(CW\*(C`t/io/fflush\*(C'\fR 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 \f(CW\*(C`system("perl \-e 0")\*(C'\fR flushes the
stdout pipe of another child process.
.IP "\(bu" 4
The \f(CW\*(C`ext/POSIX/t/waitpid\*(C'\fR 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.
.SH "CONTACT"
.IX Header "CONTACT"
For BeOS specifics problems feel free to mail to:
Ingo Weinhold <bonefish@cs.tu\-berlin.de>
.PP
Last update: 2004\-12\-16
