Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: Rediscovering fixed bugs

by Tanktalus (Canon)
on Oct 12, 2012 at 00:57 UTC ( #998581=note: print w/replies, xml ) Need Help??

in reply to Rediscovering fixed bugs

This is a major reason why I'm trying to put together my own pseudo-distribution of Perl for $work and redistribute that. Then I'm not beholden to the level of Perl on the OS we end up deploying on (currently AIX 6 {5.8.8} and AIX 7 {5.10.1}, soon to also be SLES of some level, not sure what level of Perl that will have). Much like many applications ship their own private JVM, really.

I highly recommend considering that option.

Replies are listed 'Best First'.
Re^2: Rediscovering fixed bugs
by zwon (Abbot) on Oct 12, 2012 at 01:36 UTC

    I personally thought about it, but don't think $work will agree with me. We have dozens of servers, so just installing perl into /usr/local as AM suggested is not a solution, we have to build package to be able to manage dependencies. Then what to do with CPAN modules? Package every module separately -- a lot of work, build one big package with the perl and all CPAN modules -- then how to be with dependencies. I'm not saying that it is not possible to solve this problems, but it is quite a big (and what more important rather boring) task. And we are not just having this problem with perl, so if we're going this way it won't be Debian stable any more, so it makes more sense to just switch over to some other more dynamic distribution.

Re^2: Rediscovering fixed bugs
by thomas895 (Chaplain) on Oct 12, 2012 at 07:14 UTC

    SLES of some level
    According to the openSUSE repos, SLES 11 uses 5.10.0. I'm not sure if that's entirely accurate, though.

    I advise doing this too. You can also use something like App::PerlBrew(although unfortunately that doesn't work for me for some reason), or just download your favourite Perl version from CPAN and compile that.
    I keep telling myself to use that, but I'd probably end up having to reinstall many of the modules(especially the XS ones), and that takes too much time.

    confess( "I offer no guarantees on my code." );

      For the record, I'm not using perlbrew for this. Instead, I've written a perl script (using the system perl) which will build perl and all 100+ modules from source tarballs, including some patch files for cases where the module just won't compile/test clean (usually on AIX). I've got my modules in three categories, though I'm about to merge two of them: dev, test, and modules. For the distribution that will ship, I'm not going to build dev or test, but if I want to ensure they all work on each platform I can at least throw in test temporarily just to be sure. Meanwhile, I'm expecting dev boxes to use all of them. If I'm not testing, I also have in that build-perl script code to rewrite Makefile.PL/Build.PL files to remove Test::* dependencies.

      The dev directory has things like Term::ReadLine::Perl (for making the perl debugger easier to use), PPI (for automated code manipulation), and Enbugger (and their prereqs not met in the modules directory). The test directory has a bunch of Test::*, but also HTTP::Daemon (for testing AnyEvent::HTTP, I think), Sub::Uplevel, and others.

      I can rebuild from scratch in ~10 minutes on my Linux box. It's a bit longer on AIX. Possibly because I do most of my building on Linux on an SSD drive :-)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://998581]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (6)
As of 2017-02-25 23:53 GMT
Find Nodes?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?

    Results (369 votes). Check out past polls.