Perl
David J. Ruck (33) 1635 posts |
Anyone know what the latest state of Perl is on RIS OS? It’s certainly not my preferred language but I have some programs which use it. I’ve got 5.14.2 (04-May-2020) from https://www.riscosports.co.uk/downloads.html which works fine on my ARMx6 mini.m (RO 5.27 09-Jun-20), but doesn’t work on a Pi 3B (RO5.27 06-Jun-20). It hangs silently when involked in a Task Window, or if a script is run from the filer. In the later case sometimes the hour glass with a percentage is very breifly seen, that could be from running over ShareFS, but it still hangs after copying locally. I’ve shift booted in to the desktop, and found the only dependency seems to be the SharedUnixLibrary which on both machines is 1.16 (3 Apr 2020), but I’ve also tried 1.14 (05 Sep 2015) on the Pi and that doesn’t make any difference. Perl 5.8.8 (17-Apr-06) or 5.8.8-1 (4-Sep-06) on http://www.cp15.org/perl/ which immeduate seg fault for me on either machine. |
David J. Ruck (33) 1635 posts |
Just tried Perl 5.14.2 with both RO5.24 and RO5.27 on the Iyonix, and it works there too. |
David J. Ruck (33) 1635 posts |
Note I’ve edited my original post as the doc files suggested it was 5.8.8, but it actually identifies itself as “revision undef version 14 subversion 2” and matches the 5.14.2 copy on the riscosports site. |
David Feugey (2125) 2709 posts |
Did you patch it with PatchSWP? |
David J. Ruck (33) 1635 posts |
It came up with patch of 42 words (which I’ll check later), but unfortunately it didn’t cure the hang. But thanks for reminding me about !PatchSWP, it might fix a couple of other things I’ve noticed not working. |
David Feugey (2125) 2709 posts |
My pleasure. There is also the (old) version of Perl 5 provided with the RISC OS source code. And for the non-working one, you can try with alignment exceptions off. |
David J. Ruck (33) 1635 posts |
I’m afraid the Perl 5 in the RISC OS source isn’t much use. It’s not complete, lacking the warnings or the hi res time modules, and many more. I only managed to get one trivial program to run, and that was accompanied by hundreds of spurious uninitialised variable errors. I’m surprised it runs the build scripts without issues in that state. |
David J. Ruck (33) 1635 posts |
The reason being it patched !Perl.perl where as what is actually being run to interpret perl is !Perl.bin.perl – DOH! I don’t know why an identical copy of the interpreter was placed in the application directory where it will never be used, and only causes confusion! But patching the one which is actually used, allows perl to run on the Pi 3B and 3B+. |
Andrew Rawnsley (492) 1445 posts |
May I suggest you report this back to Chris Gransden so that he know that this is the case? It basically means it hasn’t been recompiled with a recent-ish version of GCC/UnixLib. I imagine it got overlooked, but since the date is 2020, it’s a bit odd, and probably needs an investigation. There shouldn’t really be anything compiled with a 2020 date with SWP instructions still present, unless by mistake. |
David J. Ruck (33) 1635 posts |
I would do if the ReadMe in Perl 5.14.2 didn’t claim it was still 5.8.8 by Alex Waugh, or www.riscosports.co.uk where I got it from had any contact information. |
Duncan Moore (8586) 2 posts |
Buried within the application there’s some RISC OS related stuff for this port indicating version 5.14.2 by Chris Gransden, and a chrisg email address in !Perl.lib.perl.arch.Config_heavy/pl. |
Rick Murray (539) 13840 posts |
Hi Duncan, Could you amend the email address in your post, please? It’s bad form to give people’s email addresses in full in public. Thanks. ;-) |
David J. Ruck (33) 1635 posts |
I’ve emailed Chris, so you can remove the address now. |