You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Chris Winters <ch...@cwinters.com> on 2001/03/04 05:49:27 UTC

win32 mod_perl, libapreq questions

First: big thanks to Randy Kobes for making the mod_perl PPMs
available. This is a huge help to getting mod_perl running on Win32.

I've installed the mod_perl 1.25 + Apache 1.3.19 PPM without a
problem, and the mod_perl stuff runs fine. (It's loaded as a shared
object, which I guess is necessary for Win32 systems.)

However, I found that when I wanted to use Apache::Request
functionality (including Apache::Cookie), I got a message that
ApachePerlModule.dll could not be found in the library path. 

Copying one of the ApachePerlModule.dll files from the Win32/mod_perl
repository let everything boot okay, and basic mod_perl functionality
is there. However, once I try to use Apache::Cookie I get the
following error in a popup 'Red X' dialog:

  The instruction at "0xblahblah" referenced memory at
  "0x00000000". The memory could not be "read"

What can I do about this? Using something else to parse cookies is
certainly an option (for the short term), but if there's a way around
that I'd certainly prefer taking it :-) If I need to compile something
(or try) I can do so, since this machine has VC++ 6 on it. (I'm used
to unix systems where a compiler/environment is taken for granted :-)

I can provide many more details about the system, setup, etc. if
necessary.

Thanks much,

Chris

-- 
Chris Winters (chris@cwinters.com)
Building enterprise-capable snack solutions since 1988.

Re: win32 mod_perl, libapreq questions

Posted by Chris Winters <ch...@cwinters.com>.
* Randy Kobes (randy@theoryx5.uwinnipeg.ca) [010304 23:59]:
> Sorry about that - I forgot that the libapreq development version
> required the addition of hvrv2table in the mod_perl build 
> that isn't there by default. The file
> http://theoryx5.uwinnipeg.ca/ppmpackages/mod_perl-1.25_1.3.19-libapreq.ppd
> contains this modified mod_perl build - this should fix the
> above problem.

Excellent -- this seems to work perfectly! Thanks.

Chris

-- 
Chris Winters (chris@cwinters.com)
Building enterprise-capable snack solutions since 1988.

Re: win32 mod_perl, libapreq questions

Posted by Randy Kobes <ra...@theoryx5.uwinnipeg.ca>.
On Sun, 4 Mar 2001, Chris Winters wrote:

> * Randy Kobes (randy@theoryx5.uwinnipeg.ca) [010304 19:05]:
> 
> >    I've placed at 
> >     http://theoryx5.uwinnipeg.ca/ppmpackages/libapreq-dev.ppd
> > a ppm package of (the development version of) libapreq - this was
> > built against mod_perl-1.25/apache_1.3.19, so should probably
> > work with your set-up. If you want to try building this for
> > yourself with VC++, you'll need the cvs version of libapreq - links 
> > to this are available at http://perl.apache.org/.
> 
> I'm using mod_perl 1.25 (from the -1.3.19 PPD) and apache 1.3.19, but
> when I try to startup something that uses Apache::Cookie, I get:
> 
> ---------------
> Apache.exe: Entry Point Not Found
> 
>   The procedure entry point hvrv2table could not be found in the
>   dynamic link library mod_perl.so
> ---------------

Sorry about that - I forgot that the libapreq development version
required the addition of hvrv2table in the mod_perl build 
that isn't there by default. The file
http://theoryx5.uwinnipeg.ca/ppmpackages/mod_perl-1.25_1.3.19-libapreq.ppd
contains this modified mod_perl build - this should fix the
above problem.

best regards,
randy


Re: win32 mod_perl, libapreq questions

Posted by Chris Winters <ch...@cwinters.com>.
* Randy Kobes (randy@theoryx5.uwinnipeg.ca) [010304 19:05]:
> Hi,
>     This is probably due to an incompatibility between 
> apache/mod_perl versions - note also that, as of mod_perl-1.25,
> the mod_perl dll that is placed in your /Apache/modules
> directory is now named mod_perl.so, to agree with the new
> apache convention (this dll should be offered to be installed
> with the mod_perl ppm install).

Yes, it the .so was put in the right place. But when using
Apache::Request (with the non-dev libapreq), Dynaloader in mod_perl.pm
still demanded that ApacheModulePerl.dll be there.

>    I've placed at 
>     http://theoryx5.uwinnipeg.ca/ppmpackages/libapreq-dev.ppd
> a ppm package of (the development version of) libapreq - this was
> built against mod_perl-1.25/apache_1.3.19, so should probably
> work with your set-up. If you want to try building this for
> yourself with VC++, you'll need the cvs version of libapreq - links 
> to this are available at http://perl.apache.org/.

I'm using mod_perl 1.25 (from the -1.3.19 PPD) and apache 1.3.19, but
when I try to startup something that uses Apache::Cookie, I get:

---------------
Apache.exe: Entry Point Not Found

  The procedure entry point hvrv2table could not be found in the
  dynamic link library mod_perl.so
---------------

I've worked around the cookie problem in my application by making each
cookie implementation its own class and switching to CGI::Cookie for
the Win32 implementation. (This is a good thing on its own, so there
*is* always a silver lining :-) So I'm not in a huge rush anymore to
get this up and running. I *am* curious though and will try and help
out as much as I can. Maybe even learn something in the process...

Thanks,

Chris

-- 
Chris Winters (chris@cwinters.com)
Building enterprise-capable snack solutions since 1988.

Re: win32 mod_perl, libapreq questions

Posted by Randy Kobes <ra...@theoryx5.uwinnipeg.ca>.
On Sat, 3 Mar 2001, Chris Winters wrote:

> First: big thanks to Randy Kobes for making the mod_perl PPMs
> available. This is a huge help to getting mod_perl running on Win32.
> 
> I've installed the mod_perl 1.25 + Apache 1.3.19 PPM without a
> problem, and the mod_perl stuff runs fine. (It's loaded as a shared
> object, which I guess is necessary for Win32 systems.)
> 
> However, I found that when I wanted to use Apache::Request
> functionality (including Apache::Cookie), I got a message that
> ApachePerlModule.dll could not be found in the library path. 
> 
> Copying one of the ApachePerlModule.dll files from the Win32/mod_perl
> repository let everything boot okay, and basic mod_perl functionality
> is there. However, once I try to use Apache::Cookie I get the
> following error in a popup 'Red X' dialog:
> 
>   The instruction at "0xblahblah" referenced memory at
>   "0x00000000". The memory could not be "read"

Hi,
    This is probably due to an incompatibility between 
apache/mod_perl versions - note also that, as of mod_perl-1.25,
the mod_perl dll that is placed in your /Apache/modules
directory is now named mod_perl.so, to agree with the new
apache convention (this dll should be offered to be installed
with the mod_perl ppm install).
   I've placed at 
    http://theoryx5.uwinnipeg.ca/ppmpackages/libapreq-dev.ppd
a ppm package of (the development version of) libapreq - this was
built against mod_perl-1.25/apache_1.3.19, so should probably
work with your set-up. If you want to try building this for
yourself with VC++, you'll need the cvs version of libapreq - links 
to this are available at http://perl.apache.org/.

best regards,
randy kobes