Re: which perl?

2001-06-24 Thread Todd Goldenbaum

On Sun, 24 Jun 2001, Stas Bekman wrote:

 On Sun, 24 Jun 2001, Brooklyn Linux Solutions CEO wrote:
 
It's got to be built in.  My mod_perl conf keeps looking in 5.6.0 in the @INC
array even after the 5.6.1 upgrade
  
  I got sick of the problem and linked 5.6.1 into 5.6.0
 
 You could achieve the same with:
 
 startup.pl:
 ---
 use lib qw(/usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1);
 
 note that lib.pm takes care of adding the arch lib paths (i686-linux on my
 machine) and removing dups.
 
interesting.  I created a symlink to my 5.6.1 binary, and I am pointing to
the 5.6.1 libraries within my PerlRequire script (in my case it's mason's
handler.pl)... and yet, modperl is still using 5.6.0!  

I am really at a loss... I'm really hoping i won't have to rebuild mod_perl
as this particular server is using a pre-built SSL version we don't want to
break ;)   but would that even help?  Is sounds like it shouldn't be necessary.

thanks
todd
 




Re: which perl?

2001-06-24 Thread Stas Bekman

On Sun, 24 Jun 2001, Todd Goldenbaum wrote:

 On Sun, 24 Jun 2001, Stas Bekman wrote:

  On Sun, 24 Jun 2001, Brooklyn Linux Solutions CEO wrote:
 
 It's got to be built in.  My mod_perl conf keeps looking in 5.6.0 in the @INC
 array even after the 5.6.1 upgrade
   
   I got sick of the problem and linked 5.6.1 into 5.6.0
 
  You could achieve the same with:
 
  startup.pl:
  ---
  use lib qw(/usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1);
 
  note that lib.pm takes care of adding the arch lib paths (i686-linux on my
  machine) and removing dups.

 interesting.  I created a symlink to my 5.6.1 binary, and I am pointing to
 the 5.6.1 libraries within my PerlRequire script (in my case it's mason's
 handler.pl)... and yet, modperl is still using 5.6.0!

 I am really at a loss... I'm really hoping i won't have to rebuild mod_perl
 as this particular server is using a pre-built SSL version we don't want to
 break ;)   but would that even help?  Is sounds like it shouldn't be necessary.

check the order of paths in @INC. If 5.6.0 is coming first, that explains
your problem. try:

perl -le 'print join \n, @INC' but this is your perl with no @INC
adjustments.

do the same from some simple CGI script

/server-status via Apache::Status is another way to check (See the guide
or the manpage)

_
Stas Bekman  JAm_pH --   Just Another mod_perl Hacker
http://stason.org/   mod_perl Guide  http://perl.apache.org/guide
mailto:[EMAIL PROTECTED]   http://apachetoday.com http://eXtropia.com/
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/





Re: which perl?

2001-06-24 Thread Stas Bekman

On Sun, 24 Jun 2001, Todd Goldenbaum wrote:

 On Sun, 24 Jun 2001, Stas Bekman wrote:

  On Sun, 24 Jun 2001, Brooklyn Linux Solutions CEO wrote:
 
 It's got to be built in.  My mod_perl conf keeps looking in 5.6.0 in the @INC
 array even after the 5.6.1 upgrade
   
   I got sick of the problem and linked 5.6.1 into 5.6.0
 
  You could achieve the same with:
 
  startup.pl:
  ---
  use lib qw(/usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1);
 
  note that lib.pm takes care of adding the arch lib paths (i686-linux on my
  machine) and removing dups.

 interesting.  I created a symlink to my 5.6.1 binary, and I am pointing to
 the 5.6.1 libraries within my PerlRequire script (in my case it's mason's
 handler.pl)... and yet, modperl is still using 5.6.0!

also notice that this will work only if your libs are binary compatible.

did you make 4 symlinks? I've numbered these below as 1-4

mine is:

$ perl -V

Characteristics of this binary (from libperl):
  Compile-time options: DEBUGGING USE_LARGE_FILES
  Built under linux
  Compiled at Apr 20 2001 22:58:59
  @INC:
1/usr/lib/perl5/5.6.1/i686-linux
2/usr/lib/perl5/5.6.1
3/usr/lib/perl5/site_perl/5.6.1/i686-linux
4/usr/lib/perl5/site_perl/5.6.1
/usr/lib/perl5/site_perl/5.6.0
/usr/lib/perl5/site_perl/5.005
/usr/lib/perl5/site_perl
.


 I am really at a loss... I'm really hoping i won't have to rebuild mod_perl
 as this particular server is using a pre-built SSL version we don't want to
 break ;)   but would that even help?  Is sounds like it shouldn't be necessary.

 thanks
 todd





_
Stas Bekman  JAm_pH --   Just Another mod_perl Hacker
http://stason.org/   mod_perl Guide  http://perl.apache.org/guide
mailto:[EMAIL PROTECTED]   http://apachetoday.com http://eXtropia.com/
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/





Re: which perl?

2001-06-24 Thread Todd Goldenbaum

On Mon, 25 Jun 2001, Stas Bekman wrote:

 On Sun, 24 Jun 2001, Todd Goldenbaum wrote:
 
  On Sun, 24 Jun 2001, Stas Bekman wrote:
 
   On Sun, 24 Jun 2001, Brooklyn Linux Solutions CEO wrote:
  
  It's got to be built in.  My mod_perl conf keeps looking in 5.6.0 in the 
@INC
  array even after the 5.6.1 upgrade

I got sick of the problem and linked 5.6.1 into 5.6.0
  
   You could achieve the same with:
  
   startup.pl:
   ---
   use lib qw(/usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1);
  
   note that lib.pm takes care of adding the arch lib paths (i686-linux on my
   machine) and removing dups.
 
  interesting.  I created a symlink to my 5.6.1 binary, and I am pointing to
  the 5.6.1 libraries within my PerlRequire script (in my case it's mason's
  handler.pl)... and yet, modperl is still using 5.6.0!
 
 also notice that this will work only if your libs are binary compatible.
 
 did you make 4 symlinks? I've numbered these below as 1-4
 
 mine is:
 
 $ perl -V
 
 Characteristics of this binary (from libperl):
   Compile-time options: DEBUGGING USE_LARGE_FILES
   Built under linux
   Compiled at Apr 20 2001 22:58:59
   @INC:
 1/usr/lib/perl5/5.6.1/i686-linux
 2/usr/lib/perl5/5.6.1
 3/usr/lib/perl5/site_perl/5.6.1/i686-linux
 4/usr/lib/perl5/site_perl/5.6.1
 /usr/lib/perl5/site_perl/5.6.0
 /usr/lib/perl5/site_perl/5.005
 /usr/lib/perl5/site_perl

actually yes, they appear to be in the right order:

$ perl -V

Characteristics of this binary (from libperl): 
  Compile-time options: USE_LARGE_FILES
  Built under linux
  Compiled at May 23 2001 08:18:14
  @INC:
/usr/local/lib/perl5/5.6.1/i686-linux
/usr/local/lib/perl5/5.6.1
/usr/local/lib/perl5/site_perl/5.6.1/i686-linux
/usr/local/lib/perl5/site_perl/5.6.1
/usr/local/lib/perl5/site_perl

and yet, mod perl is still showing that it's using 5.6.0...




Re: which perl?

2001-06-24 Thread Andrew Ho

Todd,

Perl and mod_perl are separate entities altogether. Perl is the scripting
language. mod_perl is an extension to Apache, which builds a Perl
interpreter into the Apache webserver.

The binary components are mostly separate, e.g. you could theoretically
run Perl and mod_perl at different versions; the actual perl binary and
the mod_perl extensions are separate.

However, the Perl interpreter built into the Apache webserver, plus all
the associated Perl modules that implement mod_perl's functionality,
inherit all the characteristics of the Perl it was built against--bugs in
the interpreter, language characteristics, or where to find libraries.

In your case it sounds like your mod_perl is built for a different version
of Perl. As several others have suggested, the best way is to rebuild
mod_perl so it is built against your version of Perl.

Another easier to do it would be to use your vendor's package system,
for example if you are using RedHat or Debian, you may be able to find
Perl and mod_perl packages (RPMs or whatnot) and install them to fix the
versioning issues.

I still recommend building it; for the base case, it's pretty easy to do.
Follow the all-in-one directions in the mod_perl download and it usually
Just Works.

The symlinking and changing the @INC path may work, but this is a hacky,
symptomatic solution at best.

Humbly,

Andrew

--
Andrew Ho   http://www.tellme.com/   [EMAIL PROTECTED]
Engineer   [EMAIL PROTECTED]  Voice 650-930-9062
Tellme Networks, Inc.   1-800-555-TELLFax 650-930-9101
--




Re: which perl?

2001-06-24 Thread Brooklyn Linux Solutions CEO

I recommend whatever stas is saying.


Ruben
  actually yes, they appear to be in the right order:
  
  $ perl -V
  
  Characteristics of this binary (from libperl): 
Compile-time options: USE_LARGE_FILES
Built under linux
Compiled at May 23 2001 08:18:14
@INC:
  /usr/local/lib/perl5/5.6.1/i686-linux
  /usr/local/lib/perl5/5.6.1
  /usr/local/lib/perl5/site_perl/5.6.1/i686-linux
  /usr/local/lib/perl5/site_perl/5.6.1
  /usr/local/lib/perl5/site_perl
  
  and yet, mod perl is still showing that it's using 5.6.0...
 
 note- the results i get from a script running under mod_perl is slightly
 different, but 5.6.1 is indeed first.  (this is the output of @INC)
 
 /usr/local/lib/perl5/5.6.1
 /usr/local/lib/perl5/site_perl/5.6.1
 /usr/lib/perl5/5.6.0/i386-linux
 /usr/lib/perl5/5.6.0
 /usr/lib/perl5/site_perl/5.6.0/i386-linux
 /usr/lib/perl5/site_perl/5.6.0
 /usr/lib/perl5/site_perl
 
 i may have misunderstood- were you recommending that i actually delete
 these 5.6.0 directories, and symlink them over to the 5.6.1 equivs?
 




Re: which perl?

2001-06-24 Thread Andrew Ho

Hello,

RReally
R
RI asked this question and didn't get much of an answer from folks other
Rthan they THOUGHT it was built in the perl binary.

RI recommend whatever stas is saying.

Stop being an ass, and maybe people will help you out.

Humbly,

Andrew

--
Andrew Ho   http://www.tellme.com/   [EMAIL PROTECTED]
Engineer   [EMAIL PROTECTED]  Voice 650-930-9062
Tellme Networks, Inc.   1-800-555-TELLFax 650-930-9101
--




Re: which perl?

2001-06-24 Thread Stas Bekman

On Sun, 24 Jun 2001, Todd Goldenbaum wrote:

  actually yes, they appear to be in the right order:
 
  $ perl -V
 
  Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under linux
Compiled at May 23 2001 08:18:14
@INC:
  /usr/local/lib/perl5/5.6.1/i686-linux
  /usr/local/lib/perl5/5.6.1
  /usr/local/lib/perl5/site_perl/5.6.1/i686-linux
  /usr/local/lib/perl5/site_perl/5.6.1
  /usr/local/lib/perl5/site_perl
 
  and yet, mod perl is still showing that it's using 5.6.0...

 note- the results i get from a script running under mod_perl is slightly
 different, but 5.6.1 is indeed first.  (this is the output of @INC)

 /usr/local/lib/perl5/5.6.1
 /usr/local/lib/perl5/site_perl/5.6.1
 /usr/lib/perl5/5.6.0/i386-linux
 /usr/lib/perl5/5.6.0
 /usr/lib/perl5/site_perl/5.6.0/i386-linux
 /usr/lib/perl5/site_perl/5.6.0
 /usr/lib/perl5/site_perl

 i may have misunderstood- were you recommending that i actually delete
 these 5.6.0 directories, and symlink them over to the 5.6.1 equivs?

It's me who wasn't clear. Of course perl -V is not what you want. I just
suggested it as an example to see what your @INC under mod_perl should be
like.

So grab the output of perl -V, and put it in
use lib qw(HERE);
in startup.pl

now make sure that 5.6.1's 4 directories are coming up first in @INC. As
you can see your output is missing i386-linux dirs for 5.6.1.

remove the symlinks.

ALso I repeat that this won't work if your 5.6.0 is binary incompatible
with 5.6.1 (which is the case if you've changed build args, like
enable/disable threads and similar).

Of course the best thing is to recompile :)

_
Stas Bekman  JAm_pH --   Just Another mod_perl Hacker
http://stason.org/   mod_perl Guide  http://perl.apache.org/guide
mailto:[EMAIL PROTECTED]   http://apachetoday.com http://eXtropia.com/
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/





Re: which perl?

2001-06-24 Thread Todd Goldenbaum

Thanks Andrew- good stuff.  You've convinced me, I'm just going to bite the
bullet and rebuild :)

todd


On Sun, 24 Jun 2001, Andrew Ho wrote:

 Todd,
 
 Perl and mod_perl are separate entities altogether. Perl is the scripting
 language. mod_perl is an extension to Apache, which builds a Perl
 interpreter into the Apache webserver.
 
 The binary components are mostly separate, e.g. you could theoretically
 run Perl and mod_perl at different versions; the actual perl binary and
 the mod_perl extensions are separate.
 
 However, the Perl interpreter built into the Apache webserver, plus all
 the associated Perl modules that implement mod_perl's functionality,
 inherit all the characteristics of the Perl it was built against--bugs in
 the interpreter, language characteristics, or where to find libraries.
 
 In your case it sounds like your mod_perl is built for a different version
 of Perl. As several others have suggested, the best way is to rebuild
 mod_perl so it is built against your version of Perl.
 
 Another easier to do it would be to use your vendor's package system,
 for example if you are using RedHat or Debian, you may be able to find
 Perl and mod_perl packages (RPMs or whatnot) and install them to fix the
 versioning issues.
 
 I still recommend building it; for the base case, it's pretty easy to do.
 Follow the all-in-one directions in the mod_perl download and it usually
 Just Works.
 
 The symlinking and changing the @INC path may work, but this is a hacky,
 symptomatic solution at best.
 
 Humbly,
 
 Andrew
 
 --
 Andrew Ho   http://www.tellme.com/   [EMAIL PROTECTED]
 Engineer   [EMAIL PROTECTED]  Voice 650-930-9062
 Tellme Networks, Inc.   1-800-555-TELLFax 650-930-9101
 --
 
 




Re: which perl?

2001-06-23 Thread Steven Lembark


 I am running Apache/1.3.14 (Unix) mod_perl/1.25 on a redhat 7 system.
 Since the perl binary that came with the redhat distribution was version
 5.6.0, I  assumed that is the version that got built into mod perl
 (statically linked).   But I just discovered using perl's $] variable,
 that it's actually using 5.006!

 So far as I can tell, I don't even have a copy of perl 5.006 on my
 system... Is mod_perl actulaly distributed with a version of perl
 interpreter intact? If so, How do I upgrade it?

For the amount of time it takes, I'd suggest just building a local
copy of mod_perl.  If you use a .makepl_args.mod_perl file it can
be done with a single perl Makefile.PL; make test install.



Re: which perl?

2001-06-23 Thread Todd Goldenbaum

On Sat, 23 Jun 2001, Steven Lembark wrote:
 
  I am running Apache/1.3.14 (Unix) mod_perl/1.25 on a redhat 7 system.
  Since the perl binary that came with the redhat distribution was version
  5.6.0, I  assumed that is the version that got built into mod perl
  (statically linked).   But I just discovered using perl's $] variable,
  that it's actually using 5.006!
 
  So far as I can tell, I don't even have a copy of perl 5.006 on my
  system... Is mod_perl actulaly distributed with a version of perl
  interpreter intact? If so, How do I upgrade it?
 
 For the amount of time it takes, I'd suggest just building a local
 copy of mod_perl.  If you use a .makepl_args.mod_perl file it can
 be done with a single perl Makefile.PL; make test install.

Hm, I'm still unclear about whether mod_perl actually gets distributed
with its own version of the perl interpreter, etc.   Plus I've never used
.makrpl_args.mod_perl, no idea where to start with that one... isn't there
another way?





Re: which perl?

2001-06-23 Thread Chris Reinhardt

On Sat, 23 Jun 2001, Todd Goldenbaum wrote:

 Hi,

 I am running Apache/1.3.14 (Unix) mod_perl/1.25 on a redhat 7 system.
 Since the perl binary that came with the redhat distribution was
 version 5.6.0, I assumed that is the version that got built into mod
 perl (statically linked).  But I just discovered using perl's $]
 variable, that it's actually using 5.006!

 So far as I can tell, I don't even have a copy of perl 5.006 on my system...
 Is mod_perl actulaly distributed with a version of perl interpreter intact?
 If so, How do I upgrade it?


Ummm 5.006 _is_ 5.6.0, just in the old perl numbering scheme.

ctriv@quartz:~$ perl -v

This is perl, v5.6.1 built for sun4-solaris

ctriv@quartz:~$ perl -e 'print $]\n'
5.006001

You should look at something like this (or it's sprintf equivalent).
ctriv@quartz:~$ perl -e 'printf(%vd\n, $^V)'
5.6.1

Chris R.
-- 
Chris Reinhardt
[EMAIL PROTECTED]
Webmaster
Dynamic DNS Network Services
http://www.dyndns.org/




Re: which perl?

2001-06-23 Thread Todd Goldenbaum

On Sat, 23 Jun 2001, Chris Reinhardt wrote:

 On Sat, 23 Jun 2001, Todd Goldenbaum wrote:
 
  Hi,
 
  I am running Apache/1.3.14 (Unix) mod_perl/1.25 on a redhat 7 system.
  Since the perl binary that came with the redhat distribution was
  version 5.6.0, I assumed that is the version that got built into mod
  perl (statically linked).  But I just discovered using perl's $]
  variable, that it's actually using 5.006!
 
  So far as I can tell, I don't even have a copy of perl 5.006 on my system...
  Is mod_perl actulaly distributed with a version of perl interpreter intact?
  If so, How do I upgrade it?
 
 
 Ummm 5.006 _is_ 5.6.0, just in the old perl numbering scheme.

how strange.
 
 ctriv@quartz:~$ perl -v
 
 This is perl, v5.6.1 built for sun4-solaris
 
 ctriv@quartz:~$ perl -e 'print $]\n'
 5.006001
 
 You should look at something like this (or it's sprintf equivalent).
 ctriv@quartz:~$ perl -e 'printf(%vd\n, $^V)'
 5.6.1

gotcha.  so it's 5.6.0...  however i'm still really curious about whether
mod_perl 'builds in' the interpreter when you build apache, or is it when
you run apache?

what i'm actually trying to do is get mod_perl to use a different version
of perl also installed on my system, 5.6.1, so as to settle some problems
within mason causing the httpd child processes to segfault.






Re: which perl?

2001-06-23 Thread Brooklyn Linux Solutions CEO

It's got to be built in.  My mod_perl conf keeps looking in 5.6.0 in the @INC
array even after the 5.6.1 upgrade which was more or less forced on me
by cpan.

It kind of ticks me off those guys who install modules on CPAN which
upgrade by damn perl.

NET::FTP of libnet is a big culprit of this.

Ruben


 gotcha.  so it's 5.6.0...  however i'm still really curious about whether
 mod_perl 'builds in' the interpreter when you build apache, or is it when
 you run apache?
 
 what i'm actually trying to do is get mod_perl to use a different version
 of perl also installed on my system, 5.6.1, so as to settle some problems
 within mason causing the httpd child processes to segfault.
 
 
 




Re: which perl?

2001-06-23 Thread Stas Bekman

 It's got to be built in.  My mod_perl conf keeps looking in 5.6.0 in the @INC
 array even after the 5.6.1 upgrade

Rebuild mod_perl or add the 5.6.1 paths to @INC in startup.pl via use lib:
http://perl.apache.org/guide/install.html#Should_I_Rebuild_mod_perl_if_I_h

 which was more or less forced on me
 by cpan.

Yeah, it's a known bug, has been fixed lately.

 It kind of ticks me off those guys who install modules on CPAN which
 upgrade by damn perl.

Configure CPAN.pm to 'ask' rather than 'follow'.

I was aborting the fetch of 5.6.1 manually by punching Ctrl-C a few times.

 NET::FTP of libnet is a big culprit of this.

 Ruben


  gotcha.  so it's 5.6.0...  however i'm still really curious about whether
  mod_perl 'builds in' the interpreter when you build apache, or is it when
  you run apache?
 
  what i'm actually trying to do is get mod_perl to use a different version
  of perl also installed on my system, 5.6.1, so as to settle some problems
  within mason causing the httpd child processes to segfault.
 
 
 




_
Stas Bekman  JAm_pH --   Just Another mod_perl Hacker
http://stason.org/   mod_perl Guide  http://perl.apache.org/guide
mailto:[EMAIL PROTECTED]   http://apachetoday.com http://eXtropia.com/
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/





Re: which perl?

2001-06-23 Thread Brooklyn Linux Solutions CEO

  It's got to be built in.  My mod_perl conf keeps looking in 5.6.0 in the @INC
  array even after the 5.6.1 upgrade
 
I got sick of the problem and linked 5.6.1 into 5.6.0

Ruben



Re: which perl?

2001-06-23 Thread Stas Bekman

On Sun, 24 Jun 2001, Brooklyn Linux Solutions CEO wrote:

   It's got to be built in.  My mod_perl conf keeps looking in 5.6.0 in the @INC
   array even after the 5.6.1 upgrade
 
 I got sick of the problem and linked 5.6.1 into 5.6.0

You could achieve the same with:

startup.pl:
---
use lib qw(/usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1);

note that lib.pm takes care of adding the arch lib paths (i686-linux on my
machine) and removing dups.

_
Stas Bekman  JAm_pH --   Just Another mod_perl Hacker
http://stason.org/   mod_perl Guide  http://perl.apache.org/guide
mailto:[EMAIL PROTECTED]   http://apachetoday.com http://eXtropia.com/
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/





Re: which perl?

2001-06-23 Thread Brooklyn Linux Solutions CEO

 use lib qw(/usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1);
 
 note that lib.pm takes care of adding the arch lib paths (i686-linux on my
 machine) and removing dups.
 


Really

I asked this question and didn't get much of an answer from folks other than
they THOUGHT it was built in the perl binary.





Re: which perl?

2001-06-23 Thread Stas Bekman

  use lib qw(/usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1);
 
  note that lib.pm takes care of adding the arch lib paths (i686-linux on my
  machine) and removing dups.

 Really

 I asked this question and didn't get much of an answer from folks other than
 they THOUGHT it was built in the perl binary.

You are not the first to have this question. You are not the first to ask
many other questions. Most of these recurring questions and the answers to
them are documented in the guide. I've sent you the link with the answer
in my previous email, but apparently you've ignored it. I don't know why.

If you have a question regarding mod_perl, this is the path you should
follow:

1. search the guide and other docs at perl.apache.org
2. search your favorite mail archive linked from perl.apache.org
3. ask the list.

Hope this helps.

_
Stas Bekman  JAm_pH --   Just Another mod_perl Hacker
http://stason.org/   mod_perl Guide  http://perl.apache.org/guide
mailto:[EMAIL PROTECTED]   http://apachetoday.com http://eXtropia.com/
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/