6 Replies Latest reply on Jul 19, 2016 9:32 AM by Johan Kruger

    Upgrading or installing missing perl modules

    Johan Kruger

      How do I go about installing or upgrading Perl modules with the Edison image currently available ?

      The default Perl version contained in the 32-bit image on the Edison has Perl version 5.20.0

      There are a bunch of usually included modules missing.

      Some of the modules are required to compile from scratch or install other Perl modules.

      Some modules are distributed with a Makefile.PL, but those also do not work because of missing perl IO and Make modules.

      Catch 22

      Normally one can make use of CPAN to install the modules, but 'cpan' is also not available.

      The SDK distributed has the same version of Perl (5.20.0) and the same shortcomings.

       

      To get this to work, I had to upgrade the version of Perl itself, from the source code, and compile it on the Edison target, after which I could install other modules and use 'cpan' as well.

      Is there another way, other than compiling Perl 5.22.x or creating an SDK from scratch with another BitBake recipe to include the full version of Perl ?

       

      Thanks

        • 1. Re: Upgrading or installing missing perl modules
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hi jjk,

          Have you tried with the Perl version available in the AlexT repository? If I’m not mistaken this was already discussed in another thread and yes, as you said, the Perl installation in the Edison is non-standard. I took a quick look at the AlexT repository and saw that CPAN is available to install and so are other modules that might be the ones you want to add.
          If you haven’t checked the instructions on how to configure the Edison to fetch packages from this repository, here you can find the instructions: http://alextgalileo.altervista.org/edison-package-repo-configuration-instructions.html. To check the available packages, check this link http://repo.opkg.net/edison/repo/, core2-32/ contains the Perl modules.
          Here’s the thread that I mentioned before too https://communities.intel.com/thread/58914.

          Regards,
          -Pablo

          1 of 1 people found this helpful
          • 2. Re: Upgrading or installing missing perl modules
            Johan Kruger

            Thanks Pablo.

            So basically the answer is no, there is no other way.

            The repo that AlexT created will equate to me creating my own SDK, using recipes that references updated packages.

            AlexT just already did all the work for us.

             

            I will give it a whirl just to confirm it works, and to see how up to date that Repo is, however, I was hoping that this will become part of the officially supported Edison image.

            We intend to create Edison SDK support for the Wind River Helix Application Cloud, but touching as little as possible of the original standard distributed images.

            • 3. Re: Upgrading or installing missing perl modules
              Intel Corporation
              This message was posted on behalf of Intel Corporation

              Hi jjk,

              Currently, there are no plans to upgrade the Perl version available on the Edison. However, we can pass your feedback to the development team. Hopefully, this could be added in a future release, especially since it doesn’t requires too much work to implement.

              Regards,
              -Pablo

              1 of 1 people found this helpful
              • 4. Re: Upgrading or installing missing perl modules
                gavinkoh70

                If you are down on your luck, you may not find the required perl package on AlexT's website. But don't fret, the steps are not as difficult as you think. Case in point, I had to make my own module.

                 

                For me, I could not find Net::Telnet in the repository, so I had to head over to CPAN to download the tar.gz file, winscp it up onto my Edison, untar it, and make it - basically I had to compile and install the perl module manually.

                 

                If you can't make your perl file, you will likely need to opkg install these modules: perl-module-extutils-makemaker, perl-module-extutils-mm-unix, perl-module-extutils-command, and perl-module-arybase

                 

                Once ready, I used the following commands to make myself my very own Net::Telnet.

                1. perl Makefile.PL (create my makefile)
                2. make (start compiling the module)
                3. cd lib/Net (get into the output folder)
                4. mv Telnet.pm into /usr/lib/perl/5.20.0/Net (this copies the module to the perl folder in your Edison)

                 

                Instructions will vary for different modules. Check out the docs in your tarball.

                 

                Hope that helps.

                • 5. Re: Upgrading or installing missing perl modules
                  Intel Corporation
                  This message was posted on behalf of Intel Corporation

                  Hi jjk,

                  Do you have updates on this case? Were you able to test with the AlexT repository?

                  Regards,
                  -Pablo

                  • 6. Re: Upgrading or installing missing perl modules
                    Johan Kruger

                    AlexT repo still had the older version of perl available, however I did use it for installing other things I wanted.

                    I downloaded the source code for the newer perl distribution and compiled/installed that from scratch, so I did not need to get the version from AlexT repo.