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-30 |
---|
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 | |
---|
71 | The reasons for the failures are as follows: |
---|
72 | |
---|
73 | =over 4 |
---|
74 | |
---|
75 | =item * |
---|
76 | |
---|
77 | The t/op/lfs and ext/Fcntl/t/syslfs failures indicate that the |
---|
78 | LFS (large file support, files larger than 2 gigabytes) doesn't |
---|
79 | work from Perl (BeFS itself is well capable of supporting large |
---|
80 | files). What fails is that trying to position the file pointer |
---|
81 | past 2 gigabytes doesn't work right, the position gets truncated |
---|
82 | to its lower 32 bits. |
---|
83 | |
---|
84 | =item * |
---|
85 | |
---|
86 | The 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 |
---|
88 | wrong as such, they just seem to accumulate "./" prefixes and infixes |
---|
89 | in ways that define logic. |
---|
90 | |
---|
91 | =item * |
---|
92 | |
---|
93 | The Glob/t/basic indicates a bug in the getpw*() functions: |
---|
94 | they do not always return the correct user db entries. |
---|
95 | |
---|
96 | =item * |
---|
97 | |
---|
98 | The sigaction #13 means that signal mask doesn't get properly restored |
---|
99 | if sigaction returns early. |
---|
100 | |
---|
101 | =item * |
---|
102 | |
---|
103 | The waitpid failure means that after there are no more child |
---|
104 | processes, waitpid is supposed to start returning -1 (and set |
---|
105 | errno to ECHILD). In BeOS, it doesn't seem to. |
---|
106 | |
---|
107 | =back |
---|
108 | |
---|
109 | Disclaimer: I just installed BeOS Personal Edition 5.0 and the |
---|
110 | Developer Tools, that is the whole extent of my BeOS expertise, |
---|
111 | so please don't ask me for further help in BeOS Perl problems. |
---|
112 | |
---|
113 | jhi@iki.fi |
---|