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