in reply to Re^3: EXTERN.h missing when compiling on OpenWrt
in thread EXTERN.h missing when compiling on OpenWrt

If it's the same device as last time upgrading RAM is non trivial, if at all possible. For swap see Tutorials -> Embedded Perl: Installing Perl and Mojolicious on Arduino Yśn / OpenWRT ChaosCalmer. Simply avoiding using something as memory hungry as cpan is likely a simpler move.

  • Comment on Re^4: EXTERN.h missing when compiling on OpenWrt

Replies are listed 'Best First'.
Re^5: EXTERN.h missing when compiling on OpenWrt
by morgon (Priest) on Dec 12, 2018 at 10:14 UTC
    It is the same device and upgrading it is not an option.

    I had hoped that there was some way to get Net::SSLeay on there, but I am about to give up.

    But even if I can get a less memory-hungry cpan-client to work it won't solve my problem with the missing EXTERN.h...

    But thanks anyway.

      the file 02packages.details.txt.gz is 1.3MB compressed. If you run out of memory uncompressing that then...

      As marto suggested, try something with low memory footprint (cpanm) OR maybe you should tell cpan exactly what module you want installed rather than starting with a shell which will try to bring itself up-to-date. The guide posted contains how to increase RAM via SWAP on USB. If you master that, then a lot of other problems you may encounter in the future can be solved.

      You want something like "perl-devel" (or whatever name) installed for EXTERN.h. Either via your linux's packet manager or cpan. You also have the choice of installing perl modules exclusively via the packet manager of your system. Let the packet manager deal with it and forget the cpan installers - surely the former will be a bit more aware of low-memory-systems.

        exactly what module you want installed
        All I need is Net::SSLeay which is not available via the package manager.

        Everything else is either pure-Perl (so I simply copy the modules) or is available from the repo.

        And there is a perlbase-devel package available, but it does not contain an EXTERN.h.

      "I am about to give up."

      You didn't tell us much about your setup (which perl related packages you have, see the tutorial I linked to), some searches show build logs on openwrt which include extern.h. Maybe talk to the openwrt people, explain your setup and your problem? Failing that cross compile what you want for your target system.