| 1 | Notes on Perl on the Hurd |
| 2 | Last Updated: Sat, 6 Mar 1999 16:07:59 +0100 |
| 3 | Written by: Mark Kettenis <kettenis@gnu.org> |
| 4 | |
| 5 | If you want to use Perl on the Hurd, I recommend using the Debian |
| 6 | GNU/Hurd distribution (see http://www.debian.org), even if an |
| 7 | official, stable release has not yet been made. The old `gnu-0.2' |
| 8 | binary distribution will most certainly have additional problems. |
| 9 | |
| 10 | * Known Problems |
| 11 | |
| 12 | The Perl testsuite may still report some errors on the Hurd. The |
| 13 | `lib/anydbm.t' and `op/stat.t' tests will most certainly fail. The |
| 14 | first fails because Berkeley DB 2 does not allow empty keys and the |
| 15 | test tries to use them anyway. This is not really a Hurd bug. The |
| 16 | same test fails on Linux with version 2.1 of the GNU C Library. The |
| 17 | second failure is caused by a bug in the Hurd's filesystem servers, |
| 18 | that we have not been able to fix yet. I don't think it is crucial. |
| 19 | |
| 20 | The socket tests may fail if the network is not configured. You have |
| 21 | to make `/hurd/pfinet' the translator for `/servers/socket/2', giving |
| 22 | it the right arguments. Try `/hurd/pfinet --help' for more |
| 23 | information. |
| 24 | |
| 25 | Here are the statistics for Perl 5.005_03 on my system: |
| 26 | |
| 27 | Failed Test Status Wstat Total Fail Failed List of failed |
| 28 | ------------------------------------------------------------------------------- |
| 29 | lib/anydbm.t 12 1 8.33% 12 |
| 30 | op/stat.t 58 1 1.72% 4 |
| 31 | 5 tests skipped, plus 14 subtests skipped. |
| 32 | Failed 2/189 test scripts, 98.94% okay. 2/6669 subtests failed, 99.97% okay. |
| 33 | |
| 34 | There are quite a few systems out there that do worse! |
| 35 | |
| 36 | However, since I am running a very recent Hurd snapshot, in which a lot of |
| 37 | bugs that were exposed by the Perl testsuite have been fixed, you may |
| 38 | encounter more failures. Likely candidates are: `lib/io_pipe.t', |
| 39 | `lib/io_sock.t', `lib/io_udp.t' and `lib/time.t'. |
| 40 | |