Page 1 of 1

Perl on Asustor

PostPosted: Sat Feb 14, 2015 4:00 am
by Elrique64
Ok, trying to get a perl script (or app or whatever it is.) running on my AS-202T. I can install Perl 5.16.3r3 from the App Central. This install says it's there, and appears to be ready to run.

So, when I look at the script it tells me it has some includes needed to make it work. So I figured out how to do a cpan install, but when I try to install LWP::UserAgent it fails. So I tried to get the next include, XML::Simple, which ALSO fails to install. On down the line for every included module I need to get this script running...

So, I guess my question is this: How do we get up to date and working installs of these cpan modules?

Barring that, can I install Perl on my desktop Win7 machine, get those modules and drop them into the Asustor perl folders to get them working?

Re: Perl on Asustor

PostPosted: Sun Feb 15, 2015 12:10 pm
by Elrique64
Regardless of what module I try to install via cpan, EVERY ONE of them fails with an error on cpan/distribution.pm, line 2084....

Is this something with the perl implementation on App Central? Or on a download from the cpan sources??

If this is with the App Central download, then no one else has had this issue?

Writing MYMETA.yml and MYMETA.json
Can't exec "make": No such file or directory at /usr/local/AppCentral/perl/lib/perl5/CPAN/Distribution.pm line 2084.



CPAN.pm: Building E/ET/ETHER/libwww-perl-6.13.tar.gz

Warning: Prerequisite 'URI::Escape => 0' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'ETHER/URI-1.65.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'LWP::MediaTypes => 6' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'GAAS/LWP-MediaTypes-6.02.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'Encode::Locale => 0' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'GAAS/Encode-Locale-1.04.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'HTTP::Status => 6' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'GAAS/HTTP-Message-6.06.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'HTTP::Negotiate => 6' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'GAAS/HTTP-Negotiate-6.01.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'File::Listing => 6' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'GAAS/File-Listing-6.04.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'HTML::Entities => 0' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'GAAS/HTML-Parser-3.71.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'HTTP::Daemon => 6' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'GAAS/HTTP-Daemon-6.01.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'Net::HTTP => 6.07' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'MSCHILLI/Net-HTTP-6.07.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'URI => 1.10' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'ETHER/URI-1.65.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'HTML::HeadParser => 0' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'GAAS/HTML-Parser-3.71.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'HTTP::Cookies => 6' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'GAAS/HTTP-Cookies-6.01.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'HTTP::Date => 6' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'GAAS/HTTP-Date-6.02.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'HTTP::Request::Common => 6' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'GAAS/HTTP-Message-6.06.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'HTTP::Response => 6' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'GAAS/HTTP-Message-6.06.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'WWW::RobotRules => 6' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'GAAS/WWW-RobotRules-6.02.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'HTTP::Request => 6' for 'ETHER/libwww-perl-6.13.tar.gz' failed when processing 'GAAS/HTTP-Message-6.06.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Can't exec "make": No such file or directory at /usr/local/AppCentral/perl/lib/perl5/CPAN/Distribution.pm line 2084.


As long as I have these issues, I guess trying to get the perl scripts I'm trying to get set up are on hold.... :(

The constant half measures of this implementation of a Linux OS is really starting to get old... EVERY Linux app except what I pull from App Central FAILS to run or install... Only the apps from or sponsored by Asustor are able to work and most of them have some bug or issue different than the rest of the world. Why???

Re: Perl on Asustor

PostPosted: Sun Feb 15, 2015 3:55 pm
by mafredri
Elrique64 wrote:
Writing MYMETA.yml and MYMETA.json
Can't exec "make": No such file or directory at /usr/local/AppCentral/perl/lib/perl5/CPAN/Distribution.pm line 2084.


Look to me like your modules require compilation, and since there is no compiler on Asustor, you will need to cross-compile them using the Asustor toolchain, then move them over to the NAS. I'm quite sure trying to do this on any NAS would result in the same error.

Re: Perl on Asustor

PostPosted: Sun Feb 15, 2015 11:49 pm
by Elrique64
My understanding of how Perl works is:

Perl is a script language and as such the Perl engine is a cross compiler for the platform it is on.

CPAN is the library of modules that are submitted and maintained by a user community and are loaded with the command cpan> install LIBNAME::MODULENAME

CPAN installs, makes and tests the library automatically, submitting the script to the perl compiler at install time, testing the modules as they are made.

The Distribution.pm file referenced in the error is a sort of metafile telling cpan and perl how to deal with new files. This comes as part of the perl implementation on the device itself. It isn't downloaded via cpan, nor any other utility, but App Central in this case. As I personally don't know one end of a perl script or metafile from the other, I wouldn't presume to try editing this to see if I could get the metafile to work. This needs to come from Asustor or someone like Clinton Hall who does development on these platforms.

The app I'm trying to get running runs great on Ubuntu/Denbian and other Linux ports with no extra editing. CPAN the modules, run the perl script and bang, there it is. No such thing on Asustor's version of Linux. Nothing seems easy on these things, unless it's apps they want you to have, and not apps I need. (Want another example? Try getting ownCloud running by just installing the app from App Central. Not going to happen. The info at App Central doesn't tell you that myPHPAdmin is needed and how to make the accounts and DB's. You only get that info pouring through topics on these forums.)

What's really getting me upset is: I go to Linux sites to find ssh commands to do specific admin functions on my NAS and half the commands JUST DON'T WORK. This is just one indication of the crippled OS that I'm addressing here.

Don't get me wrong... I LOVE this NAS... It's doing much more now than I ever thought I could do with it. The problem is the half measures gone in to the implementations on the apps. Something that resembles the app in question, but doesn't give full functionality. The apps made by Clinton Hall WORK! The apps by Asustor are half complete. A Perl implementation on one device should be EXACTLY the same as any other device. Tested and working completely. And should yield the EXACT SAME RESULTS regardless of the platform it is on.

Re: Perl on Asustor

PostPosted: Mon Feb 16, 2015 2:48 am
by mafredri
Elrique64 wrote:CPAN installs, makes and tests the library automatically, submitting the script to the perl compiler at install time, testing the modules as they are made.

The NAS doesn't have a toolchain, there is no make or gcc. Therefore it cannot work.
Elrique64 wrote:The app I'm trying to get running runs great on Ubuntu/Denbian and other Linux ports with no extra editing. CPAN the modules, run the perl script and bang, there it is. No such thing on Asustor's version of Linux. Nothing seems easy on these things, unless it's apps they want you to have, and not apps I need. (Want another example? Try getting ownCloud running by just installing the app from App Central. Not going to happen. The info at App Central doesn't tell you that myPHPAdmin is needed and how to make the accounts and DB's. You only get that info pouring through topics on these forums.)

Of course it runs on Ubuntu, there you have the option of installing dev packages. Please don't compare ADM to a full-blown Linux distribution, that it not what ADM is.

Elrique64 wrote:What's really getting me upset is: I go to Linux sites to find ssh commands to do specific admin functions on my NAS and half the commands JUST DON'T WORK. This is just one indication of the crippled OS that I'm addressing here.

Most commands do not work since the NAS has a limited set of command line tools, and is mostly limited to what Busybox has to offer.


I'm not arguing that Asustor apps can be lacking in some regards, but mostly they are functional. I would argue that their Perl package seems to work exactly as on your Ubuntu distribution. What you are lacking are EXTERNAL tools (make, gcc, etc). Take your comparison of Clintons apps to Asustor. How many times have you tried installing new modules in Clintons apps? Was that straight forward? :)

Asustor could easily provide ADM as a full-fledged Linux distribution, there is no doubt about that (and it would probably make their lives easier). However, that would require a LOT of additional space, the firmware updates would go from hundreds of megabytes to gigabytes and it would no long fit on the flash drive where the firmware is stored.

Please keep in mind that you are working with a limited set of tools, and I don't think Asustor promised the full Ubuntu experience when they sold you the NAS.


Regards,
Mathias

Re: Perl on Asustor

PostPosted: Mon Feb 16, 2015 3:43 pm
by Elrique64
You know, I read your last post Mafredri and was a bit upset with you not understanding what was going on....

But, it DID get me thinking... So, in order to get a working install of Perl on the Asustor NAS, DON'T install the one that's in the App Central.

I grabbed the ActivePerl Linux install available at perl.org. I pointed the install to the same folder th App Central version was already pointed to, so that just gave me a folder structure to start with. From that point on, it was just getting the right modules and voila!

I spent about 2 hours getting the modules I needed to make my script run, and it is now tooling along happily.

My thanks!

Re: Perl on Asustor

PostPosted: Mon Feb 16, 2015 6:54 pm
by mafredri
I'm sorry if I came across as not trying to understand what was going on, that was not my intention. I just wanted to paint you a clearer picture of the system you are working with and what was happening when you were trying to install modules.

I did suggest compiling the modules on another system and moving them to the NAS (albeit mixing some complicated terminology about cross compiling etc..). I guess that's what you ended up doing with ActivePerl?

Anyway, I'm happy you got everything working as you want it! :)


Regards,
Mathias

Re: Perl on Asustor

PostPosted: Tue Feb 17, 2015 4:46 am
by Elrique64
Actually no, I have ActivePerl version 5.18.4 running on my NAS now. I had to go through a few hoops to get it all running, and there were a lot of cpan gets involved, and I even had to find some of the source code for a few modules and make those modules myself. Copy the code from a CPAN library host and make sure I'm making the file in the right folder, with the right name, etc...

All said and done it was fairly simple. The only real issue now is: When the server reboots, the path statement gets reset, so I have to go back in and make it again for Perl....

Still, this is something that I shouldn't have had to do with an app that was supposed to be all up and running from the app store.

Re: Perl on Asustor

PostPosted: Tue Feb 17, 2015 6:11 pm
by mafredri
Elrique64 wrote:Actually no, I have ActivePerl version 5.18.4 running on my NAS now. I had to go through a few hoops to get it all running, and there were a lot of cpan gets involved, and I even had to find some of the source code for a few modules and make those modules myself. Copy the code from a CPAN library host and make sure I'm making the file in the right folder, with the right name, etc...

All said and done it was fairly simple. The only real issue now is: When the server reboots, the path statement gets reset, so I have to go back in and make it again for Perl....

Still, this is something that I shouldn't have had to do with an app that was supposed to be all up and running from the app store.

So you are saying that ActivePerl managed to build the modules on your NAS without problems? I.e. not building them elsewhere and then moving them over? If so, I suggest you open up a new ticket with Asustor and make them aware of the issue: http://support.asustor.com/

Re: Perl on Asustor

PostPosted: Fri Feb 20, 2015 3:16 pm
by Elrique64
I used CPAN get to get the modules, and the perl that's in the Active Perl install does exactly what it is supposed to do, interpret the script.

And, yes I did make a ticket on this for another reason than what you might think. Asustor's reply was the Perl installation was the ABSOLUTE bare basic install with no bells or whistles.

They are looking to port the Active Perl installation over as soon as the Chinese New Year is over....