The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

README.beos - Perl version 5 on BeOS

DESCRIPTION

Notes for building Perl under BeOS.

General Issues with Perl on BeOS

To compile perl under BeOS R4 x86:

        ./Configure -d

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 SDBM, Errno, and Socket from dynamic_ext= and nonxs_ext=; add '#define bool short' to x2p/a2p.h;

        ../Configure -S; make; make install

        cd ~/config/lib; ln -s 5.00502/BeOS-BePC/CORE/libperl.so .

(substitute 5.00502 with the appropriate filename)

BeOS Release-specific Notes

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.)

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'.)

Contact Information

If you have comments, problem reports, or even patches or bugfixes (gasp!) please email me.

28 Jan 1999 Tom Spindler dogcow@isi.net

Update 2002-03-02

The following tests fail on pre-5.8.0 Perl in BeOS Personal 5.0:

        op/magic                        24-26
        ext/POSIX/t/sigaction           13
        ext/POSIX/t/waitpid             1
        lib/ExtUtils/t/Installed        9-10 25-27 29-30 33-36

None of the failures look too serious:

  • The op/magic failures look like something funny going on with $0 and $^X that I can't now figure out: none of the generated pathnames are wrong as such, they just seem to accumulate "./" prefixes and infixes in ways that define logic.

  • The sigaction #13 means that signal mask doesn't get properly restored if sigaction returns early.

  • The waitpid failure means that after there are no more child processes, waitpid is supposed to start returning -1 (and set errno to ECHILD). In BeOS, it doesn't seem to.

  • The Installed test has some filesystem portability assumptions.

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.

jhi@iki.fi