This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Try #3 for Porting/pumpkin.pod APPLLIB_EXP quoting
[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
7README.beos - Perl version 5 on BeOS
8
9=head1 DESCRIPTION
10
11Notes for building Perl under BeOS.
12
13=head2 General Issues with Perl on BeOS
c4f23d77 14
46193409 15To compile perl under BeOS R4 x86:
c4f23d77 16
a83b6f46 17 ./Configure -d
c4f23d77 18
a83b6f46 19and hit ^C when it asks you if you want to make changes to config.sh;
46193409
JH
20edit config.sh and do the following:
21change d_socket='define' to ='undef';
22remove SDBM, Errno, and Socket from dynamic_ext= and nonxs_ext=;
46193409 23add '#define bool short' to x2p/a2p.h;
c4f23d77 24
a83b6f46
JH
25 ../Configure -S; make; make install
26
27 cd ~/config/lib; ln -s 5.00502/BeOS-BePC/CORE/libperl.so .
c4f23d77 28
46193409 29(substitute 5.00502 with the appropriate filename)
c4f23d77 30
a83b6f46
JH
31=head2 BeOS Release-specific Notes
32
33=over 4
34
35=item R4 x86
36
37Dynamic loading finally works! Yay! This means you can compile your
38own modules into perl. However, Sockets and Errno still don't work.
46193409 39(Hopefully, sockets will at least work by R5, if not sooner.)
c4f23d77 40
a83b6f46
JH
41=item R4 PPC
42
43I have not tested this. I rather severely doubt that dynamic loading
44will work. (My BeBox is in pieces right now, following a nasty disk
45crash.) You may have to disable dynamic loading to get the thing to
46compile at all. (use `./Configure` without -d, and say 'no' to 'Build
47a shared libperl.so'.)
48
49=back
50
51=head2 Contact Information
c4f23d77 52
c4f23d77
AD
53If you have comments, problem reports, or even patches or bugfixes (gasp!)
54please email me.
55
46193409 5628 Jan 1999
c4f23d77 57Tom Spindler
46193409 58dogcow@isi.net
c4f23d77 59
d700b25b 60=head2 Update 2002-05-30
dff18f87 61
8c1bea16 62The following tests fail on 5.8.0 Perl in BeOS Personal 5.03:
dff18f87 63
096506c9
JH
64 t/op/lfs............................FAILED at test 17
65 t/op/magic..........................FAILED at test 24
66 ext/Fcntl/t/syslfs..................FAILED at test 17
67 ext/File/Glob/t/basic...............FAILED at test 3
68 ext/POSIX/t/sigaction...............FAILED at test 13
69 ext/POSIX/t/waitpid.................FAILED at test 1
dff18f87 70
8c1bea16 71The reasons for the failures are as follows:
dff18f87
JH
72
73=over 4
74
75=item *
76
096506c9
JH
77The t/op/lfs and ext/Fcntl/t/syslfs failures indicate that the
78LFS (large file support, files larger than 2 gigabytes) doesn't
79work from Perl (BeFS itself is well capable of supporting large
80files). What fails is that trying to position the file pointer
81past 2 gigabytes doesn't work right, the position gets truncated
82to its lower 32 bits.
83
84=item *
85
dff18f87
JH
86The op/magic failures look like something funny going on with $0 and
87$^X that I can't now figure out: none of the generated pathnames are
88wrong as such, they just seem to accumulate "./" prefixes and infixes
89in ways that define logic.
90
91=item *
92
096506c9 93The Glob/t/basic indicates a bug in the getpw*() functions:
8c1bea16
JH
94they do not always return the correct user db entries.
95
96=item *
97
dff18f87
JH
98The sigaction #13 means that signal mask doesn't get properly restored
99if sigaction returns early.
100
101=item *
102
103The waitpid failure means that after there are no more child
9c966d23
JH
104processes, waitpid is supposed to start returning -1 (and set
105errno to ECHILD). In BeOS, it doesn't seem to.
dff18f87 106
dff18f87
JH
107=back
108
109Disclaimer: I just installed BeOS Personal Edition 5.0 and the
110Developer Tools, that is the whole extent of my BeOS expertise,
9c966d23 111so please don't ask me for further help in BeOS Perl problems.
dff18f87
JH
112
113jhi@iki.fi