So, for a bit almost all my sites were down. Why is that? I use Mojolicious, a web framework written in Perl, for most of my stuff. The wikis are old school CGI scripts running within a plugin that allows them to run from within Mojolicious, for example.
Why was it offline? There was a bug in a version of Text Mapper which I had just installed, resulting in an infinite loop. I didn’t understand this at first and wasn’t awake enough. All I could see is that some parts of the app were crashing. I compared Perl versions and noticed that I was 5.22 at home and 5.25.1 on the host, and perlbrew was telling me that 5.24.0 was the latest stable version. OK, I thought. Let’s move both of them to 5.24 and I’ll be sure. I feared installing all the modules but saw the instructions online and figured it won’t be that bad. But then my Toadfarm wouldn’t start, saying that GD had been compiled for a different version. And then another module. And another. So finally my Toadfarm started without errors but the websites were now down. W00t? Switch back to the old Perl! But aha, I had reinstalled and thus recompiled a few modules. Soooo… reinstall again, right? Still didn’t work. Finally I noticed an error in a log file indicating that there were more modules that were silently failing in the background, because of being compiled for the wrong version of Perl. Panic slowly started setting in… And now I’ve done a `perlbrew list-modules|cpanm --reinstall` of all the modules for 5.25. This makes me sad because I want to sleep. A while later, I find that they were all recompiled for 5.24. OK, I must have confused `perlbrew switch` and `perlbrew use` at one point.
My takeaway? Perlbrew and `local::lib` are not as awesome as I was led to believe. They might still be better than nothing, but this experience was *frustrating.*
☯
Also weird: The requirements to install `hypnotoad` in a particular directory based on `$^X`.
alex@sibirocobombus:~/farm$ ./farm reload Cannot find 'hypnotoad' in $PATH. at /home/alex/perl5/lib/perl5/Toadfarm/Command/start.pm line 45, <DATA> line 135. alex@sibirocobombus:~/farm$ which hypnotoad /home/alex/perl5/bin/hypnotoad alex@sibirocobombus:~/farm$ ln -s ~/perl5/bin/hypnotoad /home/alex/perl5/perlbrew/perls/perl-5.24.0/bin alex@sibirocobombus:~/farm$ ./farm reload Starting hot deployment for Hypnotoad server 1407.
#Perl
(Please contact me if you want to remove your comment.)
⁂
I usually refuse to install anything that is not in debian repos.
What about some new shiny stuff? Well, as an exception, I can sometimes pull a package or two from `testing` or `unstable`, if it does not have many dependencies. **Only** if I **really** need this package, and if I have good reasons to assume that it is not going to screw my system.
Most CPAN packages are in debian, so there is no problem. Today it does not make much sense to install something from somewhere else. Just think about all the security updates you **won’t get** and it all becomes very clear.
– AlexDaniel 2016-08-14 11:48 UTC
---
That’s true. But then again, remember that at home I’m using OSX... 😢
– Alex Schroeder 2016-08-14 12:55 UTC