[sf-perl] upgrade hell?
greg at blekko.com
Wed Oct 31 16:25:13 PDT 2012
We just went through this hell. At blekko both our sysadmin stuff and
our search engine are written in perl.
What we did was made our search engine have its own perl install and
modules. Then we upgraded that to 5.16. #!/usr/bin/env perl
is all we need, no 'use lib' is necessary because we compiled in
this different module path.
This made life interesting for the sysadmin people, because some of
their scripts run on the system perl and some run on the search engine
perl. They use #!/usr/bin/env sysperl for the scripts that run on the
system perl. We made our perlcritic and other checking tools in our
Makefiles examine the #! lines to figure out what tests to run; our
"print a stacktrace of a running perl process" examines /proc/$$/exe
to figure out what to do.
Our next step is to start installing new systems which have a
different system perl. Our system perl is actually a shell script
wrapper (/usr/bin/sysperl) which sets PERL5LIB etc etc. The scripts
don't have a 'use lib' in them, and we can have different directories
for modules of each perl version.
On Tue, Oct 30, 2012 at 06:32:43PM -0700, David Alban wrote:
> our sysadmins are turning out boxes now which run perl 5.10.1 whereas
> all of our tooling has long run on boxes running 5.8.8. our tools
> that use non-core modules get errors like:
> /usr/bin/perl: symbol lookup error:
> undefined symbol: Perl_Tstack_sp_ptr
> it appears that we have some choices.
> * downgrade the new boxes to 5.8.8
> * put 5.8.8 on /some/network/filesystem and change "#!/usr/bin/perl"
> to "#!/some/network/filesystem/bin/perl" in our tools
> * reinstall all of our cpan modules on the 5.10.1 boxes (well,
> actually on a nas. the current ones are also on a nas.)
> poll: have you faced this? what did you do? what worked / didn't work?
> old systems:
> This is perl, v5.8.8 built for x86_64-linux-thread-multi
> CentOS release 5.5 (Final)
> Linux somehost 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010
> x86_64 x86_64 x86_64 GNU/Linux
> new systems:
> This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi
> CentOS release 6.2 (Final)
> Linux someotherhost 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22
> GMT 2011 x86_64 x86_64 x86_64 GNU/Linux
> Live in a world of your own, but always welcome visitors.
> Rule of law is for the little people.
> SanFrancisco-pm mailing list
> SanFrancisco-pm at pm.org
More information about the SanFrancisco-pm