Compiling Perl 5.8.8 for MBWE

Default installation of Perl 5.8.8 in MyBook World Edition has some problems that prevent you from easy installing some CPAN modules. If you plan to actively use Perl in your MyBook, it's a better idea to compile Perl from scratch than struggle against problems.

First of all, you need to have access to ssh. I bet you already have it. Then type "su" to become root.

Then, it's a good idea to backup old files. Just in case when something goes wrong.
Your files now in /usr/local/lib/perl5, let's move them to backup directory:

 mv /usr/local/lib/perl5 /usr/local/lib/perl5.bak

Ok, we may start. You need Perl 5.8.8 sources, and it's easy.

cd /tmp
wget http://www.cpan.org/src/perl-5.8.8.tar.gz
tar zxvf perl-5.8.8.tar.gz
cd perl-5.8.8

Then, let's configure Perl:

 ./Configure

You will be asked a lot of questions, but you don't need to think about them, just hit "Enter" again and again. Finally, it will offer to run "make", so let it be:

 make

It will start compiling Perl. MBWE is a weak computer, you know. So this process will take a few hours — you may visit a bar or restaurant near or otherwise enjoy your time.
Finally, it's done. Then, you can test it if you want, it takes some more time, but I don't think it's necessary unless you did something radical to your MBWE's configuration.

 make test

If tests are ok, let's install new brand Perl (some more minutes)

 make install

When it's done, let's check it!

 perl -v

You should see a message "This is perl, v5.8.8 built for armv5tejl-linux". Congratulations! But it ain't over yet, keep going.

(Optional) CPAN Reporting

You can really skip this, but CPAN testing is really useful for everybody. It informs module authors about problems and other people about working or failing modules for this platform. MBWE's "armv5tejl-linux" is not widespread, so you may be the first to find a specific problem. Want to participate? It's easy, and will take only a few minutes, just run

 cpan

CPAN shell will ask you some questions, but you may remember that "Enter" key is your best friend. From other hand, you can find some useful things without auto-configuration. For example, you may answer "follow" when asking about prerequisites, and "yes" about auto-commit.

Then, let's set up reporting, running in cpan shell

 force install CPAN::Reporter

and after installation, which takes some time, like anything else on this low-profile device. Sorry, you should already know it.
While testing, you may find that some "timeout" or "hang_interrupt" tests are failed. It may happen and may not, depending on load of your MBWE, but things are working anyway, so even if it fails, "force" will do the job anyway (Note: you can just Ctrl-C when testing and save a lot of time). Then, you have to setup reporting, but first, you have to reload CPAN — it was just updated.

o conf commit
q

Then,

 cpan

And in cpan shell

 o conf init test_report

You should answer "yes" when asked to send reports, and fill some more values, like your email. You don't need to specify MX really, it can work without it, unless you have a special network configuration without normal internet access. Let's commit changes unless you decided to auto-commit them:

 o conf commit

Installing modules

If you skipped previous part, run "cpan" and answer questions, otherwise you can start to install some helpful modules for CPAN:

  install Digest::SHA YAML YAML::Syck LWP

And then install some modules for http interface:

  install CGI::Fast FCGI Config::IniFiles IO::File Switch DateTime Time::ZoneInfo Template

Just a few "Enter" keys to setup Template-Toolkit, and everything's fine.
Now you can use CPAN to install necessary modules without any problems.

Why not 5.10.0?

Yes, recent Perl version is 5.10.0. But there's a "but". Some modules are incompatible or failing when testing. You may be the one who wants to be on bleeding edge, but I believe you are not. You may stay on 5.8.8 without these cool features like "say" or "switch"… for now.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License