.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.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. | will give a
.\" real vertical bar. \*(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-|\(bv\*(Tr
.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\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.\"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" 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 "2002-11-24" "perl v5.8.0" "Perl Programmers Reference Guide"
.SH "NAME"
README.beos \- Perl version 5 on BeOS
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Notes for building Perl under BeOS.
.Sh "General Issues with Perl on BeOS"
.IX Subsection "General Issues with Perl on BeOS"
To compile perl under BeOS R4 x86:
.PP
.Vb 1
\& ./Configure -d
.Ve
.PP
and hit ^C when it asks you if you want to make changes to config.sh;
edit config.sh and do the following:
change d_socket='define' to ='undef';
remove \s-1SDBM\s0, Errno, and Socket from dynamic_ext= and nonxs_ext=;
add '#define bool short' to x2p/a2p.h;
.PP
.Vb 1
\& ../Configure -S; make; make install
.Ve
.PP
.Vb 1
\& cd ~/config/lib; ln -s 5.00502/BeOS-BePC/CORE/libperl.so .
.Ve
.PP
(substitute 5.00502 with the appropriate filename)
.Sh "BeOS Release-specific Notes"
.IX Subsection "BeOS Release-specific Notes"
.IP "R4 x86" 4
.IX Item "R4 x86"
Dynamic loading finally works! Yay! This means you can compile your
own modules into perl. However, Sockets and Errno still don't work.
(Hopefully, sockets will at least work by R5, if not sooner.)
.IP "R4 \s-1PPC\s0" 4
.IX Item "R4 PPC"
I have not tested this. I rather severely doubt that dynamic loading
will work. (My BeBox is in pieces right now, following a nasty disk
crash.) You may have to disable dynamic loading to get the thing to
compile at all. (use `./Configure` without \-d, and say 'no' to 'Build
a shared libperl.so'.)
.Sh "Contact Information"
.IX Subsection "Contact Information"
If you have comments, problem reports, or even patches or bugfixes (gasp!)
please email me.
.PP
28 Jan 1999
Tom Spindler
dogcow@isi.net
.Sh "Update 2002\-05\-30"
.IX Subsection "Update 2002-05-30"
The following tests fail on 5.8.0 Perl in BeOS Personal 5.03:
.PP
.Vb 6
\& t/op/lfs............................FAILED at test 17
\& t/op/magic..........................FAILED at test 24
\& ext/Fcntl/t/syslfs..................FAILED at test 17
\& ext/File/Glob/t/basic...............FAILED at test 3
\& ext/POSIX/t/sigaction...............FAILED at test 13
\& ext/POSIX/t/waitpid.................FAILED at test 1
.Ve
.PP
The reasons for the failures are as follows:
.IP "\(bu" 4
The t/op/lfs and ext/Fcntl/t/syslfs failures indicate that the
\&\s-1LFS\s0 (large file support, files larger than 2 gigabytes) doesn't
work from Perl (BeFS itself is well capable of supporting large
files). What fails is that trying to position the file pointer
past 2 gigabytes doesn't work right, the position gets truncated
to its lower 32 bits.
.IP "\(bu" 4
The op/magic failures look like something funny going on with \f(CW$0\fR and
$^X that I can't now figure out: none of the generated pathnames are
wrong as such, they just seem to accumulate \*(L"./\*(R" prefixes and infixes
in ways that define logic.
.IP "\(bu" 4
The Glob/t/basic indicates a bug in the getpw*() functions:
they do not always return the correct user db entries.
.IP "\(bu" 4
The sigaction #13 means that signal mask doesn't get properly restored
if sigaction returns early.
.IP "\(bu" 4
The waitpid failure means that after there are no more child
processes, waitpid is supposed to start returning \-1 (and set
errno to \s-1ECHILD\s0). In BeOS, it doesn't seem to.
.PP
Disclaimer: I just installed BeOS Personal Edition 5.0 and the
Developer Tools, that is the whole extent of my BeOS expertise,
so please don't ask me for further help in BeOS Perl problems.
.PP
jhi@iki.fi
|