Closed GUHU0433 closed 8 years ago
Hi,
I've enabled threads in perl: 885b9cdb9bbe1cee75850eb879140986f0b47f24. Feeds will be updated soon, version 5.20.1-5
Regards
P.S. I think this should eliminate the need in forks module
Yes! Thank you.
@alllexx88 , Thanks for upgrading perl. Unfortunately, I have now issues with perl modules. I upgraded all. Here is one issue:
Diskstation> perl -MHTML::Parser -e 1
Can't load '/opt/lib/perl5/site_perl/5.20.1/armv7l-linux/auto/HTML/Parser/Parser.so' for module HTML::Parser: /opt/lib/perl5/site_perl/5.20.1/armv7l-linux/auto/HTML/Parser/Parser.so: undefined symbol: PL_stack_sp at /opt/lib/perl5/5.20.1/XSLoader.pm line 68.
at /opt/lib/perl5/site_perl/5.20.1/armv7l-linux/HTML/Parser.pm line 17.
Compilation failed in require.
BEGIN failed--compilation aborted.
@GUHU0433 This means that perl modules have to be rebuilt. And since I was at it, I also decided bumped perl to 5.22.1. Please test whether it works
Thanks, i updated and upgraded all packages.
result after restart:
Bareword "Errno::EINVAL" not allowed while "strict subs" in use at /opt/lib/perl5/5.22.1/armv7l-linux/IO/Socket.pm line 135. Compilation failed in require at /usr/local/FHEM/bin/fhem.pl line 35. BEGIN failed--compilation aborted at /usr/local/FHEM/bin/fhem.pl line 35.
I have a couple of Perl modules which I do not have installed via ipkg. Could this be the reason?
I have a couple of Perl modules which I do not have installed via ipkg. Could this be the reason?
No, this is unrelated. Looks similar to this https://rt.perl.org/Public/Bug/Display.html?id=125930 Can you please try the patch from that page?
First
chmod 644 /opt/lib/perl5/5.22.1/armv7l-linux/IO/Socket.pm
Then edit /opt/lib/perl5/5.22.1/armv7l-linux/IO/Socket.pm
with any text editor you like to change line
($! == (($] < 5.019004) ? 10022 : Errno::EINVAL))))
to
($! == (($] < 5.019004) ? 10022 : &Errno::EINVAL))))
If it solves the issue, I'll apply it on build
@GUHU0433 on second thought, I see that /opt/lib/perl5/5.22.1/armv7l-linux/Errno.pm
is missing %err
definition. It is OK for mipsel platform, but broken for armv7! Strange. Anyway, I'll try to port 5.20.1 fix I used for this very issue to 5.22.1. Stay tuned
@GUHU0433 Errno.pm issue fixed: 11e84fe9efd043be852fa88086c56279bb0c09b3. %err
isn't empty anymore, please test whether this solves your issue.
Great! Everything seems to be fine! Thank you very much!
Hello, for the home automation software fhem i use Optware-ng on ARM7, and with your aid I could start a couple of needed modules. However, one module uses threads and the perl implementation was compiled without the multithreading option. Thus, I think, the easiest way to use the module is to use the perl module forks, which is a drop-in replacement.
Do you think this is a good idea? Is it possible that you make a package with forks?
With kind regards