Re: [PATCH] Re: mp2 with perl-5.8.1 on Windows
On Mon, 15 Sep 2003, Steve Hay wrote: PS. Randy: How do you that stacktrace output that you've posted? Is that using MSVC++, or something else? Hi Steve, I'm using MSVC++ ... When a problem like this occurs, an offer is made to call up the VC++ debugger, where the trace is then done. In order to get a more useful trace (with symbol information), I compiled Perl using some patches to perl-5.8.x/win32/Makefile that ActiveState introduced (http://aspn.activestate.com/ASPN/Downloads/ActivePerl/Source). This patch enables debug symbols in release builds, and involves using '-Zi' in $(OPTIMIZE) and '-debug -opt:ref,icf' for $(LINK_DBG). With this, one gets .pdb files corresponding to compiled libraries, which hold the symbol information (I had to manually copy perl58.pdb [corresponding to perl58.dll] to C:\Perl\bin). The Apache/2.0.47 sources have this also enabled for the release build, by default, and building mod_perl as 'perl Makefile.PL ... MP_DEBUG=1' will enable them in mod_perl as well. -- best regards, randy
Re: [PATCH] Re: mp2 with perl-5.8.1 on Windows
On Mon, 15 Sep 2003, Steve Hay wrote: I've actually rebuilt Perl and Apache as full debug builds so I have all these .pdb files already. mod_perl gets them too because it inherits Perl's debug build mode. My question was where in the DevStudio GUI do you get at the stacktrace that you posted, or how do you get DevStudio to dump it out for you? All I can find is a Context drop-down (in the panel showing variables' values) from which I have to manually copy down the information (hence I only posted a list of functions!) It doesn't look like you've done that! Hi Steve, I see now; that's something I struggled with too, until Doug pointed this out; try Alt+7 to give a stacktrace window (look under View - Debug Windows). And perhaps also to save some grief, if you want to copy it, select+right-click within that window doesn't work; you have to select+Edit-Copy. -- best regards, randy
Re: mp2 with perl-5.8.1 on Windows
On Fri, 12 Sep 2003, Steve Hay wrote: Hi, Has anybody else got mp2 (CVS) working with recent perl-5.8.1's on Windows? I've got it building, but I can't start the Apache server at all. (It's fine without the mod_perl bits in the httpd.conf file.) See this thread on p5p for what I'm getting: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2003-09/msg00795.html Cheers, - Steve I also found a problem, as below: == Perl_safesysmalloc(unsigned int 0x0010) line 70 + 21 bytes : perl-5.8.1/util.c modperl_hash_seed_init(apr_pool_t * 0x0026a7f0) line 44 + 7 bytes : modperl-2.0/src/modules/perl/mod_perl.c modperl_hook_pre_config(apr_pool_t * 0x0026a7f0, apr_pool_t * 0x00848100, apr_pool_t * 0x0084a108) line 594 + 9 bytes : modperl-2.0/src/modules/perl/mod_perl.c ap_run_pre_config(apr_pool_t * 0x00401441, apr_pool_t * 0x0026a7f0, apr_pool_t * 0x00848100) line 126 + 49 bytes main(int 0x00401d82, const char * const * 0x0008) line 575 + 19 bytes APACHE! mainCRTStartup + 227 bytes == which seems to be related to the safemalloc() call on line 44 of src/modules/perl/mod_perl.c. (by the way, I had to comment out the fprintf() call at line 66 to get it to compile, otherwise an error about my_perl being undeclared was found). This is with Apache/2.0.47, the current mod_perl 2 cvs, and === Summary of my perl5 (revision 5 version 8 subversion 1) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cl', ccflags ='-nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX', optimize='-MD -Zi -DNDEBUG -O1', cppflags='-DWIN32' ccversion='', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -libpath:C:\Perl\lib\CORE -machine:x86' libpth=\lib libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib gnulibc_version='undef' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -libpath:C:\Perl\lib\CORE -machine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS Locally applied patches: MAINT21199 Built under MSWin32 Compiled at Sep 14 2003 14:32:50 @INC: C:/Perl/lib C:/Perl/site/lib . = -- best regards, randy
Re: Can't build Apache::Dispatch on Windows / Perl 5.8.0
On Fri, 12 Sep 2003, Steve Hay wrote: Randy Kobes wrote: [ .. ] Here's a patch against the Apache-Dispatch Makefile.PL to allow it to build on Win32 Your patch does the trick for me, except that I had to rebuild mod_perl too. The problem is that my installed mod_perl setup (Apache in C:\apache, Perl in C:\perl5) didn't contain the mod_perl.lib required. The MODPERL_LIB entry in Apache::MyConfig said C:/Temp/mod_perl-1.28/src/modules/win32/Release, which is, of course, where it was when I was building mod_perl. I believe that mod_perl 2 now installs the mod_perl.lib somewhere to solve that kind of problem. Is there an option in the mod_perl 1 build process to thave that library installed, or could that be added to the next release? That's a good suggestion - you're right that mod_perl 2 installs the mod_perl.lib under the Apache2/ tree, and it would make sense for mod_perl 1 to do the same, with Apache::MyConfig adjusted to reflect that. I'll look into putting together something to do that. -- best regards, randy
Re: Can't build Apache::Dispatch on Windows / Perl 5.8.0
On Fri, 12 Sep 2003, Stas Bekman wrote: Steve Hay wrote: Stas Bekman wrote: Randy Kobes wrote: On Fri, 12 Sep 2003, Steve Hay wrote: I believe that mod_perl 2 now installs the mod_perl.lib somewhere to solve that kind of problem. Is there an option in the mod_perl 1 build process to thave that library installed, or could that be added to the next release? That's a good suggestion - you're right that mod_perl 2 installs the mod_perl.lib under the Apache2/ tree, and it would make sense for mod_perl 1 to do the same, with Apache::MyConfig adjusted to reflect that. I'll look into putting together something to do that. Does it? According to Apache::Build, it should be installed under the apache tree's lib: Yes, in my Apache2 setup (the one that I can't get working with Perl 5.8.1...) I have mod_perl.lib in C:\Apache2\lib. I didn't change any of the installation locations. I'd assumed that's what Randy meant, actually - Apache2/lib being under the Apache2/ tree :-) what is mod_perl.lib? a static library? (I guess an equivalent of mod_perl.lo on unix). We don't install it on unix yet, but I think that for consistency it should go to the same place where mod_perl.so is installed to. Which is under the Apache tree. This mod_perl.lib (on Win32) isn't a true static library, containing all the symbol definitions; from what I understand, it just contains the minimal information on symbols needed to allow the application it's being linked with to find the symbols in the dynamic library (in this case, mod_perl.so). I put it under Apache2/lib/ because that's where the Apache2 libs (eg, apr.lib, libapr.lib, mod_dav.lib) are placed. The dynamic libraries are placed either under Apache2/modules/, if it's a module (eg, mod_dav.so), or under Apache2/bin/, such as libapr.dll. Having said that, the BuildConfig.pm doesn't actually seem to refer to the location that the library has been installed into -- like mp1, it refers to the location in which it was built! I have: 'MODPERL_LIB_LOCATION' = 'C:/Temp/modperl-2.0/src/modules/perl/mod_perl.lib', in BuildConfig.pm. Wouldn't it be better for that to be 'C:/Apache2/lib/mod_perl.lib'? Nope, it uses this attribute as a source dir in cp from to: $install .= 'EOI'; # install mod_perl.lib @$(MKPATH) $(MODPERL_AP_LIBDIR) $(MODPERL_TEST_F) $(MODPERL_LIB_LOCATION) \ $(MODPERL_CP) $(MODPERL_LIB_LOCATION) $(MODPERL_AP_LIBDIR) EOI And as you can see it should install the static lib under $(MODPERL_AP_LIBDIR) (which is under the apache tree) purhaps it should be fixed to have a more intuitive name then (s/MODPERL_LIB_LOCATION/MODPERL_LIB_SOURCE_LOCATION/?) or BUILD_LOCATION I'd suggest an even more intuitive: MODPERL_STATIC_LIB_BUILD_LOCATION, since it's a static lib. Purhaps adding a new var MODPERL_STATIC_LIB_LOCATION pointing to where the static lib was installed to will be useful. Having a pointer to where the mod_perl.lib library was installed would be useful. I'm not sure calling it MODPERL_STATIC_LIB_LOCATION would be the best thing on Win32, as it's not a static library as such, but something could be come up with ... -- best regards, randy
Re: Can't build Apache::Dispatch on Windows / Perl 5.8.0
On Thu, 11 Sep 2003, Steve Hay wrote: Thomas Klausner wrote: On Thu, Sep 11, 2003 at 08:33:31AM +0100, Steve Hay wrote: I posted this problem the other day, deep inside a thread about something else, and didn't get any replies; maybe nobody spotted it? Does anybody have Apache::Dispatch working on Windows with Perl 5.8.0? Randy? Randy posted this some time ago: I just made one up, which you can install as C:\ ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/Apache-Dispatch.ppd Maybe this works for you? Sadly, no - that URL is now a 404. The directory there still exists, but there's no Apache-Dispatch.ppd in it. Sorry about that - that package apparently didn't survive a disc crash we had. I'll make up a new one and put it up there tonight. However, this will be for Perl-5.6.1, so won't be compatible with 5.8.0. I would rather be able to build the module myself anyway, rather than using a PPM package. The problem you described before with the missing symbols can be resolved by linking against the mod_perl.lib built when you build mod_perl.so. This can be done by adding in a LIBS attribute to WriteMakefile() in Makefile.PL with a value of ' -L/Path/to/mod_perl_lib -lmod_perl'. -- best regards, randy
Re: Can't build Apache::Dispatch on Windows / Perl 5.8.0
On Thu, 11 Sep 2003, Geoffrey Young wrote: The problem you described before with the missing symbols can be resolved by linking against the mod_perl.lib built when you build mod_perl.so. This can be done by adding in a LIBS attribute to WriteMakefile() in Makefile.PL with a value of ' -L/Path/to/mod_perl_lib -lmod_perl'. ah, right. thanks randy. examples of this can be found in Apache::WinBitHack, for example, the format of which should probably go in Apache::Dispatch (as well as just about all Apache:: modules to make sure they are Win32 compliant :) Here's a patch against the Apache-Dispatch Makefile.PL to allow it to build on Win32 - I've also put up a ppm package at http://theoryx5.uwinnipeg.ca/ppmpackages/ (for ActivePerl 6xx). = --- Makefile.PL.origWed Dec 27 09:01:04 2000 +++ Makefile.PL Thu Sep 11 22:16:00 2003 @@ -4,6 +4,9 @@ use Apache::ExtUtils qw(command_table); use Apache::src (); use strict; +use Config; + +my $is_win32 = ($^O =~ /Win32/i); require 5.005; @@ -75,10 +78,26 @@ command_table([EMAIL PROTECTED]); +my %config; + +$config{INC} = Apache::src-new-inc; + +if ($is_win32) { + require Apache::MyConfig; + + $config{DEFINE} = ' -D_WINSOCK2API_ -D_MSWSOCK_ '; + $config{DEFINE} .= ' -D_INC_SIGNAL -D_INC_MALLOC ' +if $Config{usemultiplicity}; + + $config{LIBS} = +qq{ -L$Apache::MyConfig::Setup{APACHE_LIB} -lApacheCore } . +qq{ -L$Apache::MyConfig::Setup{MODPERL_LIB} -lmod_perl}; +} + WriteMakefile( 'NAME' = __PACKAGE__, 'VERSION_FROM' = 'Dispatch.pm', - 'INC' = Apache::src-new-inc, 'PREREQ_PM'= { mod_perl = 1.2401, }, 'clean'= { FILES = '*.xs*' }, + %config, ); -- best regards, randy
Re: Portability Question
On Mon, 8 Sep 2003, Philip M. Gollucci wrote: Say I want the same code to work under: Win2k/ISS5.0CGI Win2k/IIS5.0PerlEX Win2k/Apache1mod_perl1 Win2k/Apache2mod_perl2 FreeBSD/Linux/Sun/Apache1mod_perl1 FreeBSD/Linux/Sun/Apache2mod_perl2 FreeBSD/Linux/Sun/Apache1,2CGI Assume perl 5.6.1 ActiveState on Win2k and perl 5.8.0 on Unix environments. Assume CGI.pm = 2.98 I haven't really had a hard time with this except: [ ... ] GD.pm (ActiveState only has GD1.x for 5.6.1 and compile errors for GD2.x on 5.8.0) XML::Simple (Active State5.6.1 is only at 1.06 missing some critical features from the current ~2.05) [ ... ] Text::Aspell ... egad... One of my co-workers has compiled this for 5.6.1 ActiveState on Win2k/WinXP Pro using MSCV++ 6.0 if anyone is interested since ActiveState has nothing. We have the above three packages in our 5.8 repository at http://theoryx5.uwinnipeg.ca/ppms/. -- best regards, randy kobes
RE: porting from mod_perl1 to mod_perl2
On Tue, 9 Sep 2003, Bart Terryn wrote: Stas, Sorry to insist. But here I am again... Stas wrote: Actually I haven't looked, I have tested with your code. Thanks a lot for going through the effort... Before setting the header I wasn't getting the unicode chars you put in the form back in the dump. After setting the header it did print out exacly the same unicode character. Well that is strange. I just changed my code and still am getting the endash back as code 150 and not as the 8212 code (the way it went in). If you're using ppm to install mod_perl, could you try the latest version at http://theoryx5.uwinnipeg.ca/ppms/? There were some changes made recently that may affect the above problem. Note that the version in the mod_perl.ppd hasn't changed, so you may have to uninstall mod_perl and then install it to force ppm to upgrade. -- best regards, randy kobes
Re: Process exiting prematurely
On Wed, 3 Sep 2003, Stas Bekman wrote: Flowers, Jay wrote: Do you get this behavior with some particular script or just any kind? Does the same script work fine as mod_cgi? All scripts, work the same. They work fine under mod_cgi. Do normal handlers behave the same way? i.e. if you don't use registry but a complete handler: http://perl.apache.org/docs/2.0/user/intro/start_fast.html#Handler_Modules If the problem persists, make sure to submit a complete problem report here and may be someone on Windows XP will be able to help you. For more info see: http://perl.apache.org/bugs/ Seeing if normal handlers work would be a very good check. And giving the information described at http://perl.apache.org/bugs/ would also help. I might also suggest checking that the mod_perl version you have corresponds to the Apache version it was compiled against (if you used the most recent ppm, this would be against Apache 2.0.47) - if in doubt, try resinstalling it, and make sure the mod_perl.so is copied to your Apache2 modules/ directory. You might also try putting in a directive LoadFile /Path/to/Perl/bin/perl58.dll before loading mod_perl.so. -- best regards, randy kobes -- Reporting bugs: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html
Re: [Mason] Can't locate object method new via package Apache::Request
On Sun, 24 Aug 2003, K Old wrote: Hello everyone, I've put HTML::Mason on a few servers now and have had problems with Apache::Request and Apache::Test on two of them. My most recent is having the problem and I'm about to go crazy if I don't figure out why installs keep having problems. Here's my setup: RH 7.2, Apache 1.3.27, mod_perl 1.26, Perl 5.6.1 - all installed from RPM's. I did a install HTML::Mason from the CPAN command line and all the dependencies were downloaded and some didn't compile. The two that didn't are Apache::Test-1.03 and libapreq-1.2. [ .. ] Regarding the failure of the tests in these two packages, what happens if you unpack, build, and test these as a non-root user, only becoming root to install them? There's some subtelties running the tests as root. -- best regards, randy kobes -- Reporting bugs: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html
Re: [Mason] Can't locate object method new via package Apache::Request
On Mon, 25 Aug 2003, K Old wrote: On Mon, 2003-08-25 at 00:18, Randy Kobes wrote: On Sun, 24 Aug 2003, K Old wrote: [ ... ] I did a install HTML::Mason from the CPAN command line and all the dependencies were downloaded and some didn't compile. The two that didn't are Apache::Test-1.03 and libapreq-1.2. [ .. ] Regarding the failure of the tests in these two packages, what happens if you unpack, build, and test these as a non-root user, only becoming root to install them? There's some subtelties running the tests as root. Randy, Ok, yes, this worked...to a point! I pulled down fresh copies of the modules from CPAN, unpacked, build and tested with another user. All tests were successful with Apache::Test with the normal user, but I had to go to root for the tests for libapreq1.2 as my webserver needed the root user to start FrontPage services. Is it possible to disable FrontPage just to see if the libapreq tests are OK when run as another user? Doing the make test for libapreq-1.2 all test fail and I get this in the t/logs/error_log: [Mon Aug 25 08:49:12 2003] [error] Can't load '/home/admin/libapreq-1.2/blib/arch/auto/Apache/Cookie/Cookie.so' for module Apache::Cookie: libapreq.so.1: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.6.1/i386-linux/DynaLoader.pm line 206. [ ... ] I've tried to install DynaLoader.pm from CPAN, but it says it's up to date. That error message means that libapreq.so, which is required by Apache::Cookie, couldn't be loaded. Do you have a libapreq.so under /home/admin/libapreq-1.2/blib/? And if so, does it have the permissions set so that the user under which the web server is running as can load it? -- best regards, randy -- Reporting bugs: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html
Re: [mp2] Child process exited
On Wed, 13 Aug 2003, Stas Bekman wrote: Jean-Sebastien Guay wrote: Stas, I just checked, and when the Apache crash occurs, nothing gets written to access_log. It would seem that the crash happens before the request is logged. That's possible, but at least you can see that it's not IE that generates some followup request that causes the crash, but the original one. Now you need to get the crash backtrace. You probably need to start the server under debugger and get the backtrace from there. (don't ask me how to do that on win32 ;) I'll be back next week, and I could take a look at it then ... One can get a (mod_perl) backtrace on Win32 by compiling it with MP_DEBUG=1, and when the crash happens, an option is presented to call up the debugger. I haven't been able to follow this in detail yet, but I noticed that Apache::Reload was being used. Does anything change if this (or any other non-essential modules) aren't used? In other words, can you pare things down to a working version, and then start adding things until a crash is invoked? -- best regards, randy
RE: Apache::AuthenNTLM module with HP/Apache
On Wed, 13 Aug 2003, Antony Batten wrote: Shannon, Thanks very much for the quick response. Here's the info you wanted (I hope): HP-UX_Apache-based_Web_Server/2.0.46 (Unix) mod_perl/1.99_09 Perl/v5.6.1 DAV/2 configured Can my career be saved? ;0) Thanks again, Antony. -Original Message- From: Shannon Eric Peevey [mailto:[EMAIL PROTECTED] Sent: 13 August 2003 14:41 To: Antony Batten Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: Apache::AuthenNTLM module with HP/Apache Antony Batten wrote: [ .. ] We are trying to use the Apache::AuthenNTLM perl module with HP/Apache and mod_perl. We have prevented mod_perl from running our cgi-perl scripts (by using Apache directives to only use mod_perl for *PL files), as we want to use 5.8 for this, and the HP-supplied mod_perl is tied to 5.6.1 Everything installs ok the server starts ok. However, we get the following errors in the errorlog: [Fri Aug 08 13:39:47 2003] [error] failed to resolve handler `Apache::AuthenNTLM' [Fri Aug 08 13:39:47 2003] [error] [client 30.254.43.59] Can't find 'boot_Authen__Smb' symbol in /opt/perl5.8/lib/site_perl/5.8.0/ PA-RISC1.1/auto/Authen/Smb/Smb.sl Compilation failed in require at /opt/perl5.8/lib/site_perl/5.8.0/PA-RISC1.1/Apache/AuthenNTLM.pm line 29. BEGIN failed--compilation aborted at /opt/perl5.8/lib/site_perl/5.8.0/PA-RISC1.1/Apache/AuthenNTLM.pm line 29. Compilation failed in require at (eval 5) line 3. I'm not sure I'm following your setup - is the mod_perl you're trying to use here compiled under Perl 5.6.1? And Apache::AuthenNTLM was compiled under Perl 5.8.0? That combination probably won't work in principle, as 5.6.1 and 5.8.0 are binary incompatible. If you're tied to mod_perl compiled under 5.6.1, try compiling and using an Apache::AuthenNTLM compiled under 5.6.1. -- best regards, randy kobes
RE: Apache::AuthenNTLM module with HP/Apache
On Thu, 14 Aug 2003, Antony Batten wrote: Have asked the SA chappy to recompile the module as you suggested. Not sure if the approach you mention can be done though I think HP don't want us to add anything to their mod_perl distribution by adding modules to the main location. Can't we compile the module against 5.6.1 but then put it somewhere else, and add that location to $PERL5LIB ? Sure - that's quite common to do. The details are in perlfaq8, but basically one compiles things as perl Makefile.PL PREFIX=/home/me/perllib \ INSTALLMAN1DIR=/home/me/man/man1 \ INSTALLMAN3DIR=/home/me/man/man3 and 'make install' will place it under /home/me/perllib. (make sure 'perl' above is your perl-5.6.1, as Shannon mentioned). You can then either use the PERL5LIB environment variable, or within your script or startup file, use use lib qw(); to point to this location. -- best regards, randy
Re: Trouble with Apache::Request
On Fri, 1 Aug 2003, Jie Gao wrote: Hi All, perl-5.8.0 + mp1.99_10. --- I am having problem trying to get /perl-status work. It bombs out in Status.pm at the following location: -- if (eval {require Apache::Request}) { $newQ ||= sub { Apache::Request-new(@_) }; } elsif (eval {require CGI}) { $newQ ||= sub { CGI-new; }; } else { die Need CGI.pm or Apache::Request to operate; } -- But shouldn't Apache::Request be Apache::RequestRec? Apache::Request is part of the libapreq package, a port of which to Apache2 is still being developed. best regards, randy kobes
Re: uwinnipeg site down (ppm installation)?
On Fri, 1 Aug 2003, Jean-Sebastien Guay wrote: Sorry about this - I had a hard disc crash, and am just in the process of restoring things. Computers are getting too smart - they know when you're vulnerable, and will act accordingly ... Hopefully it'll be ready in a day. Great job Randy! Got mod_perl installed, so I can now start bashing my code to see how much punishment it needs before agreeing to run on it! :-) I think most things are working now - please let me know if something major's amiss ... I've copied the ppm packages also over to http://perl.apache.org/dist/win32-bin/, so they can also be accessed there. best regards, randy
Re: Current directory
On Fri, 1 Aug 2003, Jean-Sebastien Guay wrote: Hi Perrin, Thanks for both your answers. Indeed, for the other question, I was using CGI 2.91 instead of 2.93 (because that one isn't yet available for Perl 5.8 via PPM). I'll find a way to upgrade it. One way is to configure the CPAN module: C:\ perl -MCPAN -e shell which, the first time you invoke it, will lead you through a dialogue. You can accept most of the defaults, except for the list of CPAN mirrors to use. Then, at the CPAN.pm shell prompt, you can say cpan install CGI Before doing this, you'll need Microsoft's nmake utility; a link on where to get it appears in the Win32 configuration page at http://perl.apache.org/. best regards, randy
Re: uwinnipeg site down (ppm installation)?
On Thu, 31 Jul 2003, Jean-Sebastien Guay wrote: Ok, now the site seems to be back up (it responds to pings, whereas it didn't before) but trying to add it to ppm gives this: ppm rep add Apache http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer58 Error: Unexpected Content-Type '' returned Does anyone know of a mirror? please? :-) Sorry about this - I had a hard disc crash, and am just in the process of restoring things. Computers are getting too smart - they know when you're vulnerable, and will act accordingly ... Hopefully it'll be ready in a day. best regards, randy
Re: mod perl , windows/apache problem
On Mon, 28 Jul 2003, Erik Browaldh wrote: I have written a program that takes argument from html-formula and read and write it to a textfile. When I tried it with perl mod 2, under windows with apache it doesnt work anymore. No new entries are written to the log-file.txt Ive tried chmod, especially r/w accesses but that doesnt seem to help. [ ... ] alarm(30); As Mustafa mentioned in another reply, you might want to try it without the flock() below [and also perhaps try without the alarm() call above]. Also, any messages in the error log would be helpful. [ ... ] open T,log-file.txt || die cant open T for write $!; flock T,2; # write lock [ ... ] open (T,log-file.txt) || die Cant open file T for read $!; flock T,1; As Stas explained in another thread today, the directory in which these files have been opened may not be the one in which your script resides. Try giving the full path to any files you're opening. -- best regards, randy kobes
Re: Apache-print() problem with UTF-8 data in Perl 5.8
On Tue, 29 Jul 2003, Steve Hay wrote: Is anybody going to take a serious look at the problem that I previously reported with Apache-print()'s handling of UTF-8 data in Perl 5.8? The patch that I sent (http://marc.theaimsgroup.com/?l=apache-modperlm=105912130001046w=2) seems to fix it for me on Windows as long as I've got perl #20203 incorporated. Does it work on other platforms? The #ifdef version-checks need a little work: on Windows (and other platforms [-- which ones?] that rely on Perl's makedef.pl to get symbols exported from the Perl library) you need perl-5.8.1; on other platforms the test for perl-5.8.0 should be fine. The brokenness of Apache-print() under perl-5.8.0 on Windows et al would also need documenting somewhere since it can't be fixed properly. Maybe it's just easier to change the version-checks to 5.8.1 for all platforms, and document the broken behaviour under 5.8.0? mod_perl 2 makes two special cases for handling systems that use export files - Win32 and aix ($^O eq 'aix'). So these might be the only two one has to worry about in this regard. I take it this is a problem in principle on all platforms running perl-5.8? If so, what might work is, for all platforms running 5.8.x, apply the patch, except for Win32 and aix (I'm not sure of aix), which would require 5.8.1. So something like #if PERL_VERSION = 8 #if ( defined(WIN32) || defined(_AIX) ) PERL_SUBVERSION = 1 #endif #endif And then, as you say, document the broken behaviour under Win32 (and aix?) for 5.8.0. -- best regards, randy
Re: Apache-print() problem with UTF-8 data in Perl 5.8
On Tue, 29 Jul 2003, Steve Hay wrote: [ .. ] I agree entirely with your sentiment, but shouldn't the logic be more like this: #if PERL_VERSION = 8 ((!defined(WIN32) !defined(_AIX)) || PERL_SUBVERSION = 1) ... #endif You're right - thanks. -- best regards, randy
Re: Working directory of script is / !
On Tue, 29 Jul 2003, ColinB wrote: Well I commented out the following line in perl/lib/site_perl/5.8.0/sun4-solaris/Apache2/ModPerl/RegistryCooker.pm like this: #*chdir_file = \NOP; and added an identical definition to the above in my startup.pl file like this: sub ModPerl::RegistryCooker::chdir_file { use File::Basename(); my $file = @_ == 2 ? $_[1] : $_[0]-filename; my $dir = File::Basename::dirname($file); chdir $dir or die Can't chdir to $dir: $!; } and then in my httpd.conf I replaced PerlResponseHandler Apache::Registry with PerlResponseHandler ModPerl::Registry and then re-started the server. But the printenv script just displays the working directory as /. Try the following, instead of ModPerl::RegistryCooker::chdir_file above: sub chdir_file_normal { use File::Basename(); my $file = @_ == 2 ? $_[1] : $_[0]-{FILENAME}; my $dir = File::Basename::dirname($file); chdir $dir or die Can't chdir to $dir: $!; } -- best regards, randy kobes
Re: Looking for Apache::Dispatch PPD
On Sun, 27 Jul 2003, Russell Lundberg wrote: Does anyone know where I might find a PPD file for Apache::Dispatch? I'm using Perl 5.6.1, Apache 1.3.27, mod_perl 1.27_01 (From Randy Kobes' perl-win32-bin-0.10.exe binary) on Win98. I'm not able to find it on either Active State or Mr. Kobes' Theoryx5 PPM repositories. I just made one up, which you can install as C:\ ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/Apache-Dispatch.ppd -- best regards, randy kobes
RE: mod_perl installation problem...
On Wed, 23 Jul 2003, Jim Morrison [Mailing-Lists] wrote: [ .. ] Make appeared to be successful yes (afaik)... I did wonder about the permissions thing but I tried as root to no avail.. Some people have had problems running the tests as root ... You might want to try unpacking, building, and testing as some user other than root, and only su to root when installing. -- best regards, randy
Re: mod_perl installation problem...
On Tue, 22 Jul 2003, Jim Morrison [Mailing-Lists] wrote: Hello, I've just come a cropper trying to reinstall mod_perl, and I'm a little desparate! Any help would be greatly appreciated. (I've 'a' mod_perl/apache running fine, but I can't get Apache::Cookie running along with) I'm trying to install: apache_1.3.28 + mod_perl-1.28 My config for mod_perl is : APACHE_SRC=../apache_1.3.28/src \ DO_HTTPD=1 EVERYTHING=1 \ DYNAMIC=1 USE_APACI=1 Though I've tried pretty much every variation on that with the same result.. During 'make test' I keep getting: modules/request...NOK 1Test header seen more than once! modules/request...NOK 2Test header seen more than once! modules/request...FAILED tests 1-10 Failed 10/10 tests, 0.00% okay snip Failed 1/34 test scripts, 97.06% okay. 10/318 subtests failed, 96.86% okay. make: *** [run_tests] Error 29 (also skips cookie, module and api) .. Thing is I've got a mod_perl running just fine - What I'm trying to do is install Apache::Cookie, but it won't because libapreq (1.2) is complaining... It's strange that it runs modules/request but skips modules/cookie, as both should be run by a successful install of libapreq (which supplies Apache::Request and Apache::Cookie). Might a partial install of libapreq been made? It might be worth first tracking down the problems you had with libapreq, to see if resolving those would help with these mod_perl problems. -- best regards, randy kobes
RE: clones and parents (bug report)
On Fri, 18 Jul 2003, Marc M. Adkins wrote: -8-- Start Bug Report 8-- 1. Problem Description: # Problem: When I add PerlOptions +Parent I get a segfault. # # Breaks with: # Windows 2000 SP2 # Apache 2.0.46 # ActiveState Perl 5.8.0 (build 804) # mod_perl 1.99.10dev(installed using mpinstall.pl, # re-installed TODAY to be safe) # # C:\Apache2\conf\parental.conf LoadFileC:/Perl/bin/perl58.dll LoadModule perl_module modules/mod_perl.so ### # # Setup for named virtual hosts on port 80: # NameVirtualHost *:80 Listen 80 ### VirtualHost *:80 ServerNamelocalhost:80 ServerAdmin [EMAIL PROTECTED] DocumentRoot C:/Apache2/htdocs PerlOptions +Parent PerlSwitches -wT /VirtualHost Just to verify, I also get this with ActivePerl 806, Apache/2.0.47, and the current mod_perl cvs version. Here's some partial debug information: PERL58! 28083490() PERL58! 280648b5() modperl_perl_destruct(interpreter * 0x0089c794): line 130 + 9 bytes: modperl_perl.c modperl_interp_destroy(modperl_interp_t * 0x008a47c8): line 128 + 12 bytes: modperl_interp.c modperl_interp_pool_destroy(void * 0x00869b78): line 184 + 12 bytes: modperl_interp.c run_cleanups(cleanup_t * * 0x0089a7a8): line 1980: httpd-2.0.47\srclib\apr\memory\unix\apr_pools.c apr_pool_destroy(apr_pool_t * 0x00401585): line 758: httpd-2.0.47\srclib\apr\memory\unix\apr_pools.c main(int 0x00401d82, const char * const * 0x0001) line 619 APACHE! mainCRTStartup + 227 bytes KERNEL32! 77e7eb69() === -- best regards, randy kobes
Re: modperl2 Apache::HTTP_FORBIDDEN... [long post]
On Thu, 17 Jul 2003, Shannon Eric Peevey wrote: Have you imported them? use Apache::Const compile -qw(Apache::HTTP_FORBIDDEN); All the available Apache:: constants are listed here: http://perl.apache.org/docs/2.0/api/Apache/Const.html I have included the bare minimum of the code from the module, (Apache::AuthenNTLM). It is still acting as if I have not imported the modules, but I have changed require to use, moved the use statements into various places of the module to see if they would catch it, and nothing doing... I am at the end of my wits. If someone would have a minute to see if they can see why the Constants within the sub handler would not be found, (though they are imported), that would be a great thanks and help :) I am running apache 2.0.46 and mod_perl 1.99_09, perl 5.6.1 on a Debian machine. package Apache::AuthenNTLM ; [ .. ] use constant MP2 = ($mod_perl::VERSION = 1.99); # test for the version of mod_perl, and use the appropriate libraries BEGIN { if (MP2) { require Apache::Const; require Apache::Access; require Apache::Connection; require Apache::Log; require Apache::RequestRec; require Apache::RequestUtil; apache::Const-import(-compile = ^ This might be a typo, but if you change that to Apache::Const (upper case 'A'), does that help? -- best regards, randy kobes
Re: informational notice in Makefile.PL
On Tue, 15 Jul 2003, Shannon Eric Peevey wrote: Here is an example of my Makefile.PL using ModUtils::AutoInstall: [ ... ] I then add the necessary code inside of the .pm file to check the version of mod_perl on the machine and perform appropriately. (I hope... ;) ) This allows a module to live in both worlds, and removes the necessity of supporting two code bases. I think that this type of porting will help authors to go ahead and port their modules, expanding the mp2 module base, and alleviate fears of jumping off of a cliff and leaving mp1 behind. ExtUtils::AutoInstall is pretty powerful, and flexible. It does though add an extra external dependency that the end user must normally install. For some packages (eg, those supplying custom config directives that must 'use mod_perl;' right within Makefile.PL to build), this is probably the easiest approach. For other, less complicated dependencies, though, that still need something extra beyond the standard ExtUtils::MakeMaker and friends, Module::Install might be a simpler approach - there's nothing extra that the user has to install, as the code for any additional functionality is included within the distribution. -- best regards, randy
Re: Apache dont run
On Mon, 14 Jul 2003, AROSO Jose Antonio wrote: I install the all in one package which contain the modperl 2.0 and de apache server 2.0.46. But after install when i write in command line apache to run the server appears The dynamic link library libxml2.dll could not be found. What do i do? That's because some XML::* modules are being loaded in the example startup.pl supplied with the distribution, and it can't find the needed libxml2.dll. You have several options: - add C:/Perl/bin (or wherever you installed Perl) to your PATH environment variable; - put C:/Perl/bin/libxml2.dll somewhere in the PATH that Apache uses; - use a LoadFile directive in httpd.conf to load libxml2.dll; - if you don't need the XML::* modules, comment out the relevant lines in startup.pl. -- best regards, randy kobes
Re: informational notice in Makefile.PL
On Mon, 14 Jul 2003, Stas Bekman wrote: [ ... ] Are you talking about the dependencies list? by 'the current state of affairs with mod_perl 2.0', you mean that it's not indexed by PAUSE. It's available from CPAN. Actually, once it gets indexed by CPAN it'll break all the other modules which specify mod_perl (1.0) as a dependency and won't work with 2.0. Perhaps it might be an idea, at this stage, to recommend to module authors that, if their package is for mod_perl 1 only, to use a module like Apache::Constants in their PREREQ_PM (ie, something available only within mod_perl 1), and if it's for mod_perl 2 only, use something like Apache::Const, or something available only with mod_perl 2. This won't help existing packages, but it would at least alert people that a problem is on the horizon. To help in this, perhaps it would be worthwhile to promote the use of Module::Install? A package (Module::Install::mod_perl?) could be made which would make available a function to test for the mod_perl version a user has, and then decide if this is appropriate for the package about to be installed. If the required mod_perl version isn't present, one could either offer to add the required version to PREREQ_PM, or else just die, as automated installs of mod_perl can be tricky. A lot of the code for this could be extracted from Apache::Test; Stas, you've also worked through this logic in making packages that include different versions for different mod_perl versions. Only the package author need have Module::Install::* when constructing the Makefile.PL - the necessary stuff for the added functionality is added to the distribution, making it transparent to the user. -- best regards, randy kobes
Re: mod_perl 2.0 and cookies
On Fri, 11 Jul 2003, Jamie Krasnoo wrote: So I've decided to dive headlong into 2.0. So far I like it but find the documentation lacking and there seems to be a lot missing. I tried Apache::Cookie with it, no dice. It gave an error to the effect that it didn't know what bootstrap was (I think that was it). Apache::Cookie made inserting cookies in mod_perl 1.0 so easy which in turn made life easier for programming. However I have scoured the documentation on how to insert a cookie into the header and the only thing I could come up with is that you use a filter to do it. Somehow I don't think that this is right and I am completely off. Could someone enlighten me as to how cookies work in MP2? If I can get past this I can figure out the rest on my own and maybe write a little documentation if I can understand it enough to do so. It wasn't clear to me - are you using the development version of httpd-apreq-2? The CPAN version of libapreq are for mod_perl 1 - you'll need httpd-apreq-2 (available via cvs) for Apache 2. If you are using Apache::Cookie of httpd-apreq-2, at this point, probably the simplest way to see examples of the basic usage is to go through the tests, under glue/perl/t/. Documentation patches would be welcome - it would be easiest to subscribe to the [EMAIL PROTECTED] mailing list and submit them there. -- best regards, randy kobes
RE: mod_perl 2.0 and cookies
On Fri, 11 Jul 2003, Ross Matt-QMR000 wrote: I would really like to be removed from this list but the un-scribe does not work for me. the problem is the mail address that I used way back when has been aliases to different address. Try sending a message to [EMAIL PROTECTED] for some suggestions. -- best regards, randy kobes
Re: FAIL mod_perl-1.28 MSWin32-x86-multi-thread 4.0
On Sun, 6 Jul 2003, DH wrote: This distribution has been tested as part of the cpan-testers effort to test as many new uploads to CPAN as possible. See http://testers.cpan.org/ Please cc any replies to [EMAIL PROTECTED] to keep other test volunteers informed and to prevent any duplicate effort. E:\new\mod_perl-1.28perl Makefile.PL NO_HTTPD=1 APACHE_SRC=E:\Apache INSTALL_DLL=E:\Apache\modules [ ... ] Linking... LINK : fatal error LNK1181: cannot open input file ..\..\..\..\..\Perl\lib\CORE\perl56.lib Thanks for raising this - the problem was that the drive letters weren't included in the dsp file. This is fixed in the mod_perl cvs sources. -- best regards, randy kobes
[win32] mod_perl 1 and ActivePerl 8xx
In the current mod_perl 1 cvs repository there's now a workaround that allows mod_perl 1 to compile against Win32 ActivePerl 8xx and Apache/1.3. I've put up a ppm package of this under http://theoryx5.uwinnipeg.ca/ppms/ which you can access by setting the repository within the ppm shell to http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer58 However, within this same location, there's already a mod_perl package for mod_perl 2 (associated with mod_perl.ppd), so the mod_perl 1 package is named mod_perl-1, and corresponding mod_perl-1.ppd file. Installing this should run a post-install script to copy the Apache module mod_perl.so to your Apache/modules directory - if this doesn't work, you can grab mod_perl-1.so from http://theoryx5.uwinnipeg.ca/ppms/scripts/ and install it manually to Apache/modules/mod_perl.so. In this repository there's also ppm packages of some Apache modules. Those tied to mod_perl-1 for some reason have a '-1' appended to their names; currently there's libapreq-1 (for Apache::Request and Apache::Cookie) Embperl-1 (based on Embperl-2.0b9) AxKit-1 (based on AxKit-1.61) Apache-Template-1 (for Template-Toolkit) Apache-Filter-1 (the mod_perl 1 version) Apache-ASP and HTML-Mason, also available in this repository, don't have the '-1' appended to their name, as they work in principle with either mod_perl 1 or 2. All the above packages, including mod_perl-1, either passed all their supplied tests or failed a handful which didn't look any worse than the ActivePerl 6xx counterparts. They also worked with some quick tests on a real server (running Apache/1.3.27 and WinXP). However, there are some major differences between between ActivePerl 6xx and 8xx - if you use these packages, and find some strange behaviour, feel free to ask on this list; for this, it'd help to have the Perl and Apache versions used, what the error was, and as brief an example as possible that invokes the behaviour. -- best regards, randy kobes
Re: [ANNOUNCE] mod_perl-1.28
On Thu, 3 Jul 2003, Steve Hay wrote: Philippe M. Chiasson wrote: The URL http://perl.apache.org/dist/mod_perl-1.28.tar.gz has entered CPAN I still get the same test failures that I reported before when RC2 was announced: modules/request...FAILED tests 3-8 Failed 6/10 tests, 40.00% okay Setup: Windows XP, Perl 5.8.0, Apache 1.3.27, Apache-Test 1.03, libapreq-1.2 (built/installed *after* mod_perl 1.28). I used to have All tests successful under mp-1.27. This may be a problem with libapreq - the mod_perl t/modules/request.t tests, among other things, the sizes involved with file uploads. The error log you posted earlier reported a difference in these sizes for three (text) files, with a binary (gif) file apparently OK (interestingly, with a patch I posted earlier to allow Win32 ActivePerl 8xx to be used with mod_perl 1 (with LARGE_FILES support), I get a failure with the gif file, but not the text files). Anyway, could you see if the following helps (applied to the libapreq sources)? For me, this allows all the mod_perl t/modules/request tests to pass. Index: Request/Request.xs === RCS file: /home/cvs/httpd-apreq/Request/Request.xs,v retrieving revision 1.36 diff -u -r1.36 Request.xs --- Request/Request.xs 25 Jun 2003 07:59:37 - 1.36 +++ Request/Request.xs 4 Jul 2003 05:32:59 - @@ -533,7 +533,7 @@ if (fd 0) XSRETURN_UNDEF; -if ( !(RETVAL = PerlIO_fdopen(fd, r)) ) +if ( !(RETVAL = PerlIO_fdopen(fd, rb)) ) XSRETURN_UNDEF; #else if ( ( RETVAL = PerlIO_importFILE(fp,0) ) == NULL ) @@ -558,7 +558,7 @@ PerlIO *fp; fd = PerlLIO_dup(fd); - if (!(fp = PerlIO_fdopen(fd, r))) { +if (!(fp = PerlIO_fdopen(fd, rb))) { PerlLIO_close(fd); croak(fdopen failed!); } The first r - rb change (which affects the mod_perl tests) is only relevant for Perl 5.7, which is why this problem didn't arise on Win32 with Perl-5.6. Also, I think this r - rb doesn't have any effect on Unix, but I haven't tested this. -- best regards, randy
Re: Please help newbie with Module problem.
On Wed, 2 Jul 2003, Matt Corbett wrote: Dear List, I have got a problem that I can't fix no way, no how. I am porting a Linux website to xp pro. I need to use the Apache::Request module on a range of programs to use POST and GET methods in my HTML to process information gathered. The port I am using is the Activestate Apache/1.3.27 (Win32) mod_ssl/2.8.14 OpenSSL/0.9.7b mod_perl/1.27_01-dev I have installed 'Apache::Request with perl -MCPAN -e shell' and 'install Apache::Request' . and if I try to run the install I get a message saying 'Apache::Request is up to date' I dont seem to be able to test the module becuase I cannot make it with NMAKE.EXE, is this necessary. I use nmake15.exe should I be using a later one. To build the module, you'll need a C compiler (Visual C++ 6, if you want compatibility with ActivePerl). But since CPAN.pm believes Apache::Request is up to date, you probably have a working version, in principle. Does C:\ perl -MApache::Request -e print 1 produce any error? The @INC is c:\perl\lib and c:\perl\site\lib The request.pm is in /perl/site/lib/apache however when I run the following code #!c:/perl/bin/perl -w use Apache (); use Apache::Request (); use CGI::Carp qw(fatalsToBrowser); my $r = Apache::Request-new(shift); # my $apr = Apache::Request-new($r); print Content-type:text/html\n\n; print Hello, World...\n; print $r; print @INC; I receive the message Can't locate object method new via package Apache::Request (perhaps you forgot to load Apache::Request?) at c:\apache\cgi-bin\ap2.pl line 6. This script ran fine for me under Apache::Registry with ActivePerl 635 / mod_perl 1.27 / Apache 1.3.27. From where are you running it? And does a simple Apache::Registry script that just prints out Hello work from the same location? -- best regards, randy kobes
Re: FW: Please help newbie with Module problem.
On Wed, 2 Jul 2003, Matt Corbett wrote: Yes, mod/perl/html scripts are fine except if I try to use Apache::Request. I can even 'use' it but the problem arises when I try to utilise it with the 'new' method. The fact that you can 'use' it (without doing anything with it) is encouraging, as that means the files are probably in the expected places, and Apache/mod_perl can use/load them. Does it help if you put a PerlModule Apache::Request directive in, before the directives defining your registry location? -- best regards, randy
RE: FW: Please help newbie with Module problem.
On Wed, 2 Jul 2003, Matt Corbett wrote: -Original Message- From: Randy Kobes [mailto:[EMAIL PROTECTED] Sent: 02 July 2003 19:39 To: Matt Corbett Cc: [EMAIL PROTECTED] Subject: Re: FW: Please help newbie with Module problem. Does it help if you put a PerlModule Apache::Request directive in, before the directives defining your registry location? - Randy, Does'nt seem to make any difference. Matt Strange On the off-chance, does stopping completely the server, then restarting it, plus also clearing the cache from the browser, do anything? -- best regards, randy
Re: Stupid question of the day...
On Wed, 25 Jun 2003 [EMAIL PROTECTED] wrote: I've built and installed a new Apache (2.0.46) with mod_ssl and mod_perl... My goal is authentication via NIS, so I have the following in an .htaccess file: AuthName TEST AuthType Basic PerlAuthenHandler Apache::AuthenNIS; require valid-user My efforts, however, have been thwarted by the following error message: Wed Jun 25 15:44:54 2003] [error] failed to resolve handler `Apache::AuthenNIS;' [Wed Jun 25 15:44:55 2003] [error] [client xxx.xxx.xxx.xxx] Can't locate object method boot via package mod_perl::boot at /opt/apache/lib/perl/Apache/Constants.pm line 8. Compilation failed in require at /opt/apache/lib/perl/Apache/AuthenNIS.pm line 4. BEGIN failed--compilation aborted at /opt/apache/lib/perl/Apache/AuthenNIS.pm line 4. Compilation failed in require at (eval 6) line 1. Apache::Constants is a mod_perl 1 package, whereas you're using mod_perl 2 (for Apache 2). If use of Apache::compat isn't enough to get this working, some porting of the module may be required - see the discussion of porting Apache Perl modules from mod_perl 1 to 2 at http://perl.apache.org/. -- best regards, randy kobes
Re: Problem building libapreq-1.2
[ adding the apreq-dev list ] On Wed, 25 Jun 2003, Chris Pizzo wrote: At 04:50 PM 6/24/2003, Chris Pizzo wrote: Hi all, I am trying to install libapreq-1.2 on my redhat 8.0 system. [ .. ] and when i run make i get a bunch of errors: Request.xs:41:22: mod_perl.h: No such file or directory Request.xs:87: parse error before SV I built mod_perl with the EVERYTHING=1 switch. [ .. ] When I do : locate mod_perl.h I get: /home/Chrisp/mod_perl-1.27/apaci/mod_perl.h /home/Chrisp/mod_perl-1.27/src/modules/perl/mod_perl.h /home/Chrisp/mod_perl-1.27/htdocs/manual/mod/mod_perl.html http server-info shows the mod_perl module loaded I'm not sure why the header files aren't copied. I checked another install I did and they are there. I guess I should also say I am building Apache using DSO I take it that you installed mod_perl from /home/Chrisp/mod_perl-1.27/ into your system Perl tree, and are not using it from their (via a PERL5LIB setting, for example)? If you did install things into your Perl system tree, did it try to install the header files? If it did, but failed, was an error reported? Does bash$ perl -MApache::src -e print Apache::src-new-inc report one of the directories under which mod_perl.h is located? -- best regards, randy
Re: win32 + apache2 + mysql
On Wed, 25 Jun 2003, Joshua Burley wrote: Storable.pm found here: C:\services\Perl\site\lib\ C:\services\Perl\site\lib\Apache\Session\Serialize\ No blib in that path though. The only blib paths I see are: C:\Documents and Settings\ben\Local Settings\Temp\mod_perl-764\blib\ C:\TEMP\mod_perl-356\blib\ C:\tmp\mod_perl.tar\blib\ But, no Storables in there either. If trying to update Storable, everything reports back as up to date. Same with the Apache-Session modules. We'll continue to work on it, trying to remove the warning about Storable... Any other ideas? I'm not sure this would help, but you might try installing Apache::Session yourself, rather than via ppm. You'll need nmake, which is available for free from Microsoft's site. Not all the tests will pass, but it might be revealing to see the results of t/99storable.t. -- best regards, randy
Re: [mp1] 1.28 release candidate #2
On Tue, 24 Jun 2003, Steve Hay wrote: Philippe M. Chiasson wrote: On Tue, 2003-06-24 at 23:00, Steve Hay wrote: Philippe M. Chiasson wrote: Now bringing you the second mod_perl 1.28 release candidate. [snip] Windows XP, Apache 1.3.27, Perl 5.8.0: Failed Test Stat Wstat Total Fail Failed List of Failed --- modules/request.t 106 60.00% 3-8 Is it possible that you have an older version of Apache::Request lying around that was not recompiled against this new mod_perl ? (hapenned to me more than once) I did initially have libapreq-1.1 compiled against mp-1.27. I've now tried 1.2 compiled against the new mod_perl, and I still get the same result. (I have Apache-Test 1.03 in place, if that's at all relevant.) Did the libapreq-1.2 tests pass? Also, what's your 'perl -V'? mod_perl 1 with ActivePerl 8xx (based on perl-5.8) doesn't build, due to the addition of LARGE_FILES support, so you must have disabled that. -- best regards, randy kobes
Re: Problem building libapreq-1.2
On Tue, 24 Jun 2003, Chris Pizzo wrote: Hi all, I am trying to install libapreq-1.2 on my redhat 8.0 system. I keep getting these warnings when i run perl Makefile.PL: Warning: -L../blib/arch/auto/libapreq changed to -L/home/Chrisp/libapreq-1.2/Request/../blib/arch/auto/libapreq Warning: -L../blib/arch/auto/libapreq changed to -L/home/Chrisp/libapreq-1.2/Cookie/../blib/arch/auto/libapreq These warnings are OK ... and when i run make i get a bunch of errors: Request.xs:41:22: mod_perl.h: No such file or directory Request.xs:87: parse error before SV Did you install mod_perl after building it? -- best regards, randy kobes
RE: Problem building libapreq-1.2
On Tue, 24 Jun 2003, Chris Pizzo wrote: -Original Message- From: Randy Kobes [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 24, 2003 6:14 PM To: Chris Pizzo Cc: [EMAIL PROTECTED] Subject: Re: Problem building libapreq-1.2 On Tue, 24 Jun 2003, Chris Pizzo wrote: [ .. ] and when i run make i get a bunch of errors: Request.xs:41:22: mod_perl.h: No such file or directory Request.xs:87: parse error before SV Did you install mod_perl after building it? -End Original Message- Yes I did install the mod perl. I even brought up the apache test page indicating it was installed. If you do a bash$ locate mod_perl.h do you see mod_perl.h installed in the Perl tree, and that Perl corresponds to the same Perl as with which you're building things with? -- best regards, randy
Re: win32 + apache2 + mysql
On Fri, 20 Jun 2003, Joshua Burley wrote: Hey all, I'm having some trouble with mod_perl and mysql on Win32 and Apache2 (used the all-in-one package to install). Our app stores the user's session data into mysql with Apache::Session, with the session id stored as a cookie. Standard stuff... When we're testing it with our browsers, it seems to run fine. We immediately run into problems when we test it under load with flood. Right away the server become unresponsive to our browsers, and the apache server goes so far as to restart itself! I've pasted some of the errors from the logs, below. Has anyone seen behavior like this before? [Wed Jun 11 12:46:32 2003] [error] 3980: ModPerl::Registry: Storable binary image v3.3 more recent than I am (v2.6) at blib\lib\Storable.pm (autosplit into blib\lib\auto\Storable\thaw.al) line 358, at C:/services/Perl/site/lib/Apache/Session/Serialize/Storable.pm line 27 [Wed Jun 11 12:46:32 2003] [error] 3980: ModPerl::Registry: Object #4618 should have been retrieved already at blib\lib\Storable.pm (autosplit into blib\lib\auto\Storable\thaw.al) line 358, at C:/services/Perl/site/lib/Apache/Session/Serialize/Storable.pm line 27 It might be an idea to address the problem with Storable, to see if that's ultimately at fault. It sounds like there's a version conflict there - can you try upgrading Storable (http://theoryx5.uwinnipeg.ca/ppms/ has a ppm package). You might then also try reinstalling Apache-Session (it doesn't require a C compiler to build) to see if that helps. -- best regards, randy kobes
Re: win32 + apache2 + mysql
On Sat, 21 Jun 2003, Joshua Burley wrote: On Sat, 21 Jun 2003, Randy Kobes wrote: On Fri, 20 Jun 2003, Joshua Burley wrote: Hey all, I'm having some trouble with mod_perl and mysql on Win32 and Apache2 (used the all-in-one package to install). Our app stores the user's session data into mysql with Apache::Session, with the session id stored as a cookie. Standard stuff... When we're testing it with our browsers, it seems to run fine. We immediately run into problems when we test it under load with flood. Right away the server become unresponsive to our browsers, and the apache server goes so far as to restart itself! I've pasted some of the errors from the logs, below. [Wed Jun 11 12:46:32 2003] [error] 3980: ModPerl::Registry: Storable binary image v3.3 more recent than I am (v2.6) at blib\lib\Storable.pm (autosplit into blib\lib\auto\Storable\thaw.al) line 358, at C:/services/Perl/site/lib/Apache/Session/Serialize/Storable.pm line 27 [Wed Jun 11 12:46:32 2003] [error] 3980: ModPerl::Registry: Object #4618 should have been retrieved already at blib\lib\Storable.pm (autosplit into blib\lib\auto\Storable\thaw.al) line 358, at C:/services/Perl/site/lib/Apache/Session/Serialize/Storable.pm line 27 It might be an idea to address the problem with Storable, to see if that's ultimately at fault. It sounds like there's a version conflict there - can you try upgrading Storable (http://theoryx5.uwinnipeg.ca/ppms/ has a ppm package). You might then also try reinstalling Apache-Session (it doesn't require a C compiler to build) to see if that helps. Yeah, that's the very first thing we tried... checking the latest from theoryx5, as well as everything we could find from CPAN. From Storable, to Apache-Session, to the DBI/DBD modules. :/ We're trying to move away from the VelociGen perl appserver and thought we had it, until this load test. Do you know where the blib in blib\lib\Storable.pm from the error log is located? It sounds like it's using a blib/ subdirectory from some source directory where something was built - this would be fine if that's what was intended, but perhaps this is unintentional? -- best regards, randy
Re: Error: Dynamic Link Library libxml2.dll could not be found inthe specified path
On Fri, 20 Jun 2003, Lynette Tillner wrote: Hi, this is my first post. I just installed a binary distribution for Win32 of Perl 5.8.0 and Apache 2.046 together with mod_per-1.99 ( by Randy Kobes, May 29, 2003). I installed it on a Windows 98 SE machine first. The install seemed to work fine there were some errors when I was following the steps to build the .html files. But the Apache server won't load. I get the following error when I type apache at the d:\apache2\bin window dos prompt: d:\apache2\binapache [Fri Jun 20 08:57:22 2003] [error] Can't load 'D:/Perl/site/lib/auto/XML/LibXML/Common/Common.dll' for module XML::LibXML::Common: load_file:One of the library files needed to run this application cannot be found at d:/Perl/lib/DynaLoader.pm line 229. at D:/Perl/site/lib/XML/LibXML.pm line 11 Complilation failed in require at d:/Perl/site/lib/XML/LibXML.pm line 11. BEGIN failed--compilation aborted at D:/Perl/site/lib/XML/LibXML.pm line 11. Complilation failed in require at D:/Apache2/conf/startup.pl line 18. Complilation failed in require at (eval 1) line 1. [Fri Jun 20 08:57:22 2003] [error] Can't load Perl file: D:/Apache2/conf/startup.pl for server localhost:80. exiting... Can anyone please help me resolve this? I haven't found anything on the web that addresses this error! I need to get this working so that an offline demo can take place on Tuesday! Thanks for any help! I think this is due to some lines in the sample startup.pl script under D:/Apache2/conf/ supplied in the distribution that preload some XML::* perl modules. If you don't need these modules, just delete or comment out these lines. If you intend on using these modules, then either copy libxml2.dll (found under D:/Perl/bin/) to a place in your PATH environment variable that Apache recognizes, or else add D:/Perl/bin/ to your PATH. Hope this helps. -- best regards, randy kobes
Re: Current directory
On Tue, 17 Jun 2003, Oskar wrote: - Original Message - From: Thomas Klausner [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, June 17, 2003 9:41 AM Subject: Re: Current directory Hi! On Tue, Jun 17, 2003 at 02:19:49AM +0200, Oskar wrote: when I am executing perl script on Apache it seems that the current directory is not the directory where the script is located but the directory c:\program files\apache group\apache. I need current dir to be the script dir since i have some pm in the script directories. I have apache 1.3.27 and mod_perl 1. See: http://perl.apache.org/docs/1.0/guide/porting.html#_INC_and_mod_perl I already read that article before posted the message here but it does not solve the problem: I am running more than one web so the adding of each particular directory seems to me little bit dumb. Also i dont see the reason why the current dir should be changed to the dir different from the script dir. Any other suggestion to solve it? You might try the FindBin module; from the docs, NAME FindBin - Locate directory of original perl script SYNOPSIS use FindBin; use lib $FindBin::Bin/../lib; or use FindBin qw($Bin); use lib $Bin/../lib; However, note the following: KNOWN ISSUES If there are two modules using FindBin from different directories under the same interpreter, this won't work. Since FindBin uses BEGIN block, it'll be executed only once, and only the first caller will get it right. This is a problem under mod_perl and other persistent Perl environments, where you shouldn't use this module. Which also means that you should avoid using FindBin in modules that you plan to put on CPAN. The only way to make sure that FindBin will work is to force the BEGIN block to be executed again: delete $INC{'FindBin.pm'}; require FindBin; -- best regards, randy kobes
Re: Need help again
On Sat, 14 Jun 2003, Oskar wrote: Hi, Thx for help, finally installing Apache 1.3 put mod_perl to work. I have another question. Now I have Apache configured to interpret in perl all files in particular directory. But I want perl to be accessible on whole site and just files with particular extensions should be interpreted in perl. Is it possible to do it? Oskar http://httpd.apache.org/docs/howto/cgi.html descibes various ways of configuring Apache to permit CGI execution. -- best regards, randy kobes
Re: Help pls
On Sat, 14 Jun 2003, Oskar wrote: Hi, I have probs with installing mod_perl onto apache server. PPM installed the mod_perl without probs so I added the LoadModule perl_module modules/mod_perl.so directive into http.conf. Now everytime apache is starting it does not start and returns error message: Syntax error on line 992 of c:/Program Files/Apache Group/Apache2/modules/mod_perl.so into server: Module was not found. The file mod_perl.so is in correct location. Spent hours searching web for solution but only thing I've found is to add LoadFile C:/Perl/bin/perl56.dll into http.conf before the LoadModule perl_module modules/mod_perl.so directive but it does not work neither. Can someone help me pls? I have xp professional, ver. of Apache 2.0.46 and built of perl is 635. Oskar As is described under http://perl.apache.org/docs/2.0/os/win32/, ActivePerl 6xx doesn't work well with mod_perl 2. If you're wanting to stick with 6xx, you'll have to get Apache/1.3 and mod_perl 1. If you want to use Apache/2.0 and mod_perl 2, you'll have to get ActivePerl 8xx (based on perl-5.8). -- best regards, randy kobes
Re: getting *any* variables out of the server environment
On Mon, 9 Jun 2003, Ryan Muldoon wrote: Geoffrey, Thanks for the explanation. Unfortunately, I think I am still a little unclear as to how to proceed. If I understand you correctly, my first method is completely wrongheaded. (I tried this because it is how the Writing Apache Modules with Perl and C does it. p.327) So it sounds like the second way is the appropriate usage for subprocess_env(). But it seems like you're saying that I shouldn't be using that at all. Specifically, here is what I'd like to get out of the environment: SSL_CLIENT_S_DN_CN SSL_CLIENT_S_DN_O and things of that nature. According to mod_ssl's documentation, these are put in ENV upon processing of a client certificate. Ideally, I'd like to make which fields to extract configurable, so I don't want to hard-code. Currently, I have PerlPassEnv SSL_CLIENT_S_DN_O PerlPassEnv SSL_CLIENT_S_DN_CN in my httpd.conf, but it doesn't seem to make any kind of difference. To make sure it isn't just mod_ssl being lame for some reason, I've tried it with DOCUMENT_ROOT and other standard ENV variables. But to no avail. :( Do you have a SSLOptions +StdEnvVars directive inside the relevant location of your httpd.conf? -- best regards, randy kobes
Re: Trouble with Apache::Request
On Fri, 7 Jun 2003, K Old wrote: [ .. ] Stas, thanks for your reply. I downloaded the CVS source and it still failed all tests. Below is the output from make test and the output from perl -V. Any help is appreciated! Another thing that may be worth trying - if you've installed libapreq, try going back to the mod_perl sources and running those tests again. Do the modules/request.t and modules/cookie.t tests pass, or if not, do you receive the same errors? -- best regards, randy
Re: Trouble with Apache::Request
On Sun, 8 Jun 2003, K Old wrote: On Sun, 2003-06-08 at 01:50, Randy Kobes wrote: On Fri, 7 Jun 2003, K Old wrote: [ .. ] Stas, thanks for your reply. I downloaded the CVS source and it still failed all tests. Below is the output from make test and the output from perl -V. Any help is appreciated! Another thing that may be worth trying - if you've installed libapreq, try going back to the mod_perl sources and running those tests again. Do the modules/request.t and modules/cookie.t tests pass, or if not, do you receive the same errors? Well, I've recompile a fresh version of Perl 5.8.0 (without threads), Apache, mod_perl and PHP and still no luckon that box. I have another Mandrake 9.0 box and tried to compile the new libapreq that Stas pointed to from CVS and got the following errors Any suggestions? I did: perl Makefile.PL -httpd /usr/sbin/httpd make test And got: In file included from apache_request.c:59: apache_request.h:5:19: httpd.h: No such file or directory [ .. ] Is /usr/sbin/httpd is a symbolic link to a real httpd, which could be something like /usr/local/httpd/bin/httpd? And is this httpd the one you compiled? If so, try giving the full path to this httpd as the Makefile.PL argument (there should be a /usr/local/httpd/include/ directory which has the header (.h) files that couldn't be found). -- best regards, randy
Re: install upgrade for mod_perl+apache 2.046 onto apache 2.044question
On Sun, 8 Jun 2003, Beau E. Cox wrote: Hi - - Original Message - From: dan martin To: [EMAIL PROTECTED] Sent: Sunday, June 08, 2003 11:08 AM Subject: install upgrade for mod_perl+apache 2.046 onto apache 2.044 question I have apache 2.044 installed on win2k. I want to install the mod_perl which comes with apache included (version 2.046). What do I need to do with the current 2.044 version before installing the new version? Do I uninstall it, stop it, or nothing? Once I install the new version what are the steps to revert back to the old version if I run into problems? This is an active site, so I do not want to figure this out by experimentation, if possible. It's been a while since I've installed on Windows, but here goes: 1. Wait 'till the wee hours. 2. Stop your current server. 3. Uninstall the service (apache -k uninstall (?)). 4. Back it up. 5. If memory serves, Apache 2 is pretty well self contained in one directory; C:\Apache2 (?). Rename this directory to something like C:\Apache2.old 6. Download/install your new Apache2. 7. Copy your configuration file(s) from old to new - you shouldn't have to make any changes between 44 and 46. Don't worry about setting up mod_perl yet. 8 Start your new server and test. 9. If all is well, install the service (apache -k install (?)) and reboot and test again. Now you can move on to mod_perl. To revert: 1. Stop new 2. Uninstall service. 3. rename C:\Apache2 to C:\apache2.new 4. rename C:\Apache2.old to C:\Apache2. 5. install service. 6. start old. I don't really have much to add to what Beau nicely summarized, save for, if you're installing the Perl/Apache/mod_perl package from http://perl.apache.org/dist/win32-bin/, you should also back up your present Perl directory in the same way as you'll do for Apache2. There's a configuration script that'll be run in this package which will change some conf files based on your installed location, so it's easiest to install things to their final destinations before running this. But before installing this package, as Beau said, rename your current Apache2 and Perl directories, so as nothing gets overwritten by the install. -- best regards, randy kobes
Re: Trouble with Apache::Request
On Fri, 6 Jun 2003, K Old wrote: Hello everyone, I'm having trouble getting Apache::Request installed on my Mandrake 9.0 system. Let me first say that I'm not using the Apache that came with Mandrake 9.0. I downloaded Apache 1.3.27, mod_perl 1.27 and PHP 4.3.1 sources and compiled and installed them. Everything works fine with Apache, mod_perl and PHP, except when I need to use Apache::Request (trying to use Alzabo browser interface). BTW, the version of Perl is 5.8.0. When trying to build Apache::Request, here's what I get when I do the make test. I can force the install, but the same error comes up when I try to load Apache::Request as a PerlModule in httpd.conf or when Alzabo calls it. I've scoured mailing list, Google groups and books and can't find any help. Any chance I should build perl without the threads? I've heard that can be the cause of a lot of problems. [ .. ] t/httpd -f `pwd`/t/httpd.conf Syntax error on line 31 of /root/.cpan/build/libapreq-1.1/t/httpd.conf: Can't load '/root/.cpan/build/libapreq-1.1/blib/arch/auto/Apache/Request/Request.so' for module Apache::Request: libapreq.so.1: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm line 229. at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/mod_perl.pm line 14 Compilation failed in require at (eval 16) line 3. Any help is greatly appreciated! If there's more than one Apache on your system, it may be that libapreq found the wrong one. Does it help any if you specify explicitly the desired Apache at the 'perl Makefile.PL' stage, as discussed in the install file of the distribution? -- best regards, randy kobes
Re: MOD_PERL 2.0?
On Thu, 29 May 2003, FARRINGTON, RYAN wrote: -- I don;t know if the first message was sent but here it is again -- just as a test I used the ALL in ONE package to get this installed and it works like a champ except for Apache::compat errors with something about line 68. =( I don't have the error infront of me but it is something like method not defined. It would help to know - what operating system you're using, - what minimal script and configuration set off the error, - what the error was. -- best regards, randy kobes
Re: Mod_Perl 2?
On Thu, 29 May 2003, Ryan Farrington wrote: Ok here is the error I get when using the all-in-one install for mod_perl 2.0 Can't locate object method server_root_relative via package Apache at e:/Perl/site/lib/Apache/compat.pm line 69. Compilation failed in require at startup.pl line 13. BEGIN failed--compilation aborted at startup.pl line 13. Are you invoking startup.pl from the command line: C:\Apache2\conf perl startup.pl If so, this won't work - it needs to be loaded within the Apache environnment, upon starting Apache. Does Apache start OK with this startup.pl? -- best regards, randy
Re: Can't use sendmail more than once
On Thu, 29 May 2003, Greg Dutkowski wrote: I have migrated my site from IIS and Active State to Apache 1.3 and mod_perl on a Windows machine. I use the site to send emails to registered users using Mail::sendmail through our SMTP server (another machine). With Apache I can only send emails once after I start the Apache server, thereafter it tells me it can't connect to the SMTP server. Restarting the Apache server leads to again being able to only send emails once. Any ideas? After it sends the mail, can you tell if the connection to the smtp server is still open? If so, can you explicitly disconnect from your script? Also, is this a script (or handler) run under mod_perl? If so, does this occur only under mod_perl, or does the same thing occur when mod_perl is disabled and an ordinary cgi script is used? If it is run under mod_perl, are all further server connections blocked after the first mail is sent, or is it just the smtp connection that's blocked? -- best regards, randy kobes
RE: [error] Can't locate CGI.pm in @INC
On Wed, 28 May 2003, Brown, Jeffrey wrote: Do you mean give the path in my perl script? So the line in my code: use CGI qw(:standard); would be: use /usr/libdata/perl5/CGI qw(:standard); I think what Perrin had in mind was to try, in your CGI script, something like open(FILE, '/usr/libdata/perl5/CGI.pm') or die Cannot read CGI.pm: $!; This would test if the user under which the web server is running under has permission to open CGI.pm. -- best regards, randy kobes
RE: [mp2.0] W2000, Apache 2.0.43 + mod_perl 1.99_09 does not start
On Fri, 4 Apr 2003, Melchior, Matthijs wrote: -Original Message- From: Randy Kobes [mailto:[EMAIL PROTECTED] Sent: Thursday, April 03, 2003 17:59 On Thu, 3 Apr 2003, Melchior, Matthijs wrote: Hello, We have a problem getting mod_perl to run on a W2000 server. It does work on another machine running WinNT4, so I think there are no errors in my configuration files. httpd.conf: 176: LoadModule perl_module modules/mod_perl.so C:\Apache2\bin.\apache -t Syntax error on line 176 of C:/Apache2/conf/httpd.conf: Cannot load C:/Apache2/modules/mod_perl.so into server: The specified procedure could not be found. . We think there is something missing on the W2000 server, but have run out of idea's what that could be.! Unfortunately, even if you get this working, you may encounter problems with mod_perl 2 with ActivePerl 6xx (based on perl-5.6.1), due to some threading issues that have been addressed in ActivePerl 8xx (based on perl-5.8.0). Is it possible to upgrade to ActivePerl 805? This is unfortunate, we are reluctant to upgrade to perl 5.8 before this issue is resolved.[Or is this problem more than a performance problem and is it impossible to get perl56 and mod_perl 2 and apache 2 to work together...?] We have installed the same software on an other W2000 machine and that gives exactly the same results. And, since I have not seen any definite report that someone else is running this combination on W2000, we even think this Apache-mod_perl combination only works on WinNT? Can someone conferm or deny this? The current mod_perl-2 package we have I did test on a W2000 machine (and XP), with an ActivePerl 6xx build - it worked for some simple things, but seems to run into problems with more complicated stuff (for some definition of more complicated). The fact that you're not even able to start it suggests there may be an incompatibility between your Apache version (or some other library) and the one that the mod_perl-2 package was compiled against, although the versions seemed to match. But before you put in a lot of effort into resolving this, I'd encourage considering an upgrade to ActivePerl 8xx. Upgrading is a major step, but if the main concern is this issue with mod_perl, then an upgrade will definitely help in general - perl-5.8 has improved threading support over perl-5.6.1, among other things, and mod_perl 2 seems to get caught up in some issues with perl-5.6.1 that have been resolved in perl-5.8. A major concern with upgrading though is the availability of ppm packages - ActiveState's 8xx repository isn't as complete as their 6xx one. They're aware of this problem, and are working on an automated build system which hopefully will address this soon. -- best regards, randy
Re: [mp2.0] W2000, Apache 2.0.45, mod_perl-2 1.99_09-dev crashes
On Fri, 4 Apr 2003, Sebastian Breier wrote: Hi. I just upgraded Apache to 2.0.45 (from 2.0.44), and now most of my perl-generated sites crash. They worked perfectly before. Server is Apache 2.0.45 on W2000 + mod_perl-2 1.99_09-dev, as said in the subject. I just checked again with 2.0.44, everything works (nothing changed except Apache). One script still works with 2.0.45, but it has only a few subs that don't do anything. Logs always show some error message like these: [Fri Apr 04 15:49:29 2003] [notice] Parent: child process exited with status 1073807364 -- Restarting. or [Fri Apr 04 15:46:53 2003] [notice] Parent: child process exited with status 3221225477 -- Restarting. Any ideas? Do I need a recompile of mod_perl-2? (I hope somebody makes one, I can't) From a later message I take it this is with ActivePerl 8xx (perl-5.8.0)? If not, and you're using ActivePerl 6xx, then it may be that you're running into a problem that others have also seen with ActivePerl 6xx and mod_perl 2 on Win32, for which an upgrade to 8xx would most likely help. If this is with ActivePerl 8xx, though, then it may be that there's an incompatibility between modules compiled against Apache 2.0.44 (which the mod_perl ppm package on our site was compiled against) and Apache 2.0.45. The Apache group says that, starting with 2.0.42, they're working at maintaining configuration and module interface compatibility, so in principle upgrading from 2.0.44 to 2.0.45 shouldn't be a problem. But with a combination of Win32 and the relative complexity of mod_perl 2, this compatibility may not have survived I've tried compiling the current cvs mod_perl 2 sources against Apache 2.0.45, but have run into a problem (unrelated to the 2.0.45 upgrade) that hasn't yet been resolved. Given the security fixes for Win32 present in 2.0.45, if you feel uneasy about reverting to 2.0.44, I could make available a mod_perl 2 package based on not-so-current cvs sources compiled against 2.0.45 until the problem in the current cvs version is fixed. -- best regards, randy kobes
Re: [mp2.0] W2000, Apache 2.0.43 + mod_perl 1.99_09 does not start
On Thu, 3 Apr 2003, Melchior, Matthijs wrote: Hello, We have a problem getting mod_perl to run on a W2000 server. It does work on another machine running WinNT4, so I think there are no errors in my configuration files. httpd.conf: 176: LoadModule perl_module modules/mod_perl.so C:\Apache2\bin.\apache -t Syntax error on line 176 of C:/Apache2/conf/httpd.conf: Cannot load C:/Apache2/modules/mod_perl.so into server: The specified procedure could not be found. C:\Apache2\bin If we refer to some other symbol as module descriptor, one that does not exist, the error does not change. We have everything installed from binary packages: - Apache is installed from 'apache_2.0.43-win32-x86-no_ssl.msi' as retrieved from one of the apache mirrors. - Perl is installed from http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.635 -MSWin32-x86.msi - mod_perl is installed as mod_perl-2 [1.99_09-dev] with PPM refering to http://theoryx5.uwinnipeg.ca/ppmpackages/mod_perl-2.ppd We think there is something missing on the W2000 server, but have run out of idea's what that could be.! Does putting in a directive LoadFile /Path/to/Perl/bin/perl56.dll in httpd.conf help (before loading mod_perl.so)? Also, when you installed the mod_perl-2 ppm package, did mod_perl.so get copied properly to your Apache modules/ directory? Sometimes this doesn't work for some versions of ppm, and you may unknowlingly be using an old mod_perl.so. If this didn't install correctly, you can extract mod_perl.so from mod_perl-2.tar.gz found in http://theoryx5.uwinnipeg.ca/ppmpackages/x86/ Unfortunately, even if you get this working, you may encounter problems with mod_perl 2 with ActivePerl 6xx (based on perl-5.6.1), due to some threading issues that have been addressed in ActivePerl 8xx (based on perl-5.8.0). Is it possible to upgrade to ActivePerl 805? -- best regards, randy kobes
Re: ENC: [mp2.0] problems when built modperl
On Wed, 26 Mar 2003, Mark James wrote: Rosane Novello wrote: When I try to build I receive the error above. Someone can help me? C:\mod_perl-1.99_08perl Makefile.PL MP_AP_PREFIX=C:\Apache Group\Apache2 Use of uninitialized value in concatenation (.) or string at lib/ModPerl/BuildOptions.pm line 89, DATA line 18. A comment in BuildOptions.pm states MP_AP_PREFIX may not contain spaces. I think having spaces in MP_AP_PREFIX is OK now in the modperl-2.0 cvs version - you may want to try that. See http://perl.apache.org/download/source.html for links on how to obtain that. -- best regards, randy kobes
Re: Wanted: Experience with EmbPerl on Win2000/Apache HTTPD?
On Wed, 5 Mar 2003, Richard Heintze wrote: Since I had such a tough time installing mod_perl on Win2000, I thought I would solicit for experiences getting Hello, World running with EmbPerl on Apache HTTPD on Windows2000. What URL did you download embperl from? Did you get any errors during installation? What is the URL you used for installation instructions? What is the URL you used for the instructions for getting HelloWorld to appear? This might be more appropriate for the embperl mailing list ... For basic installation, we have an Embperl ppm package at http://theoryx5.uwinnipeg.ca/ppmpackages/ for ActivePerl 6xx builds (and mod_perl-1/Apache-1). There's still a bit of work needed to get Embperl ported to ActivePerl 8xx and/or mod_perl-2/Apache-2. For basic usage, check out http://perl.apache.org/embperl/. -- best regards, randy kobes
Re: SetConsoleMode failed, LastError=|6| at C:/Perl/site/lib/Term/ReadKey.pmline 268, STDIN line 6.
On Tue, 4 Mar 2003, Richard Heintze wrote: I just downloaded the all-in-one and, as per Randy's instructions, abandoned my current installations of Apache2 and perl5.8 by uninstalling them. I just typed in the perl configure.pl command and I receive: SetConsoleMode failed, LastError=|6| at C:/Perl/site/lib/Term/ReadKey.pm line 26 8, STDIN line 6. cpan Should I be concerned? Actually, here are all the error messages at the end of this email message. Apparently most of them are warning messages. All of them are warnings - the majority are from converting the pod to html, which can be ignored, and the last one, about SetConsoleMode, is that the TERM environment variable is either not set or else set to something that Term::ReadKey doesn't understand. This can also be ignored, or else you can set the TERM environment variable to something like 'dumb' to get rid of the warning. I thought of having the configure script run in silent mode to suppress these warnings, but it takes so long for the html conversion that I thought it might give the impression of being hung up. Also, what is httpd-win.conf for? Which one is being used, httpd.conf or httpd-win.conf? If you start Apache as Apache -k start it'll use httpd.conf by default. You can alter this by using the -f option - do a 'Apache -h' to get a list of options. The httpd-win.conf file is the base one included in the Apache2 distribution. The supplied httpd.conf included in the distribution includes some example configuration for a ModPerl::Registry script and for a simple Hello World content handler, as well as a simple Apache::ASP and HTML::Mason page (not Embperl yet, as that isn't quite ready for Win32 Apache2/mod_perl2). -- best regards, randy
Re: Problems installing mod_perl2 on Apache2 on Win200
On Mon, 3 Mar 2003, Richard Heintze wrote: Apache HTTPD seems to be running fine. Do I have the right version of apache and mod_perl? I'm unpacking mod_perl2.tar. perl mpinstall does not seem to be giving me any errors. The current mod_perl ppm package was compiled against Apache 2.0.44, so you should have at least 2.0.43. To see what version you have, do a C:\Path\to\Your\Apache2\bin\Apache.exe -v Apache installed itself in the directory program files/apache group/apache2 so I think this means I'm running apache2. What should I do next? Maybe I should build mod_perl myself. Which compiler do you recommend for building mod_perl on NT4 or Windows 2000? If you're running ActivePerl, you should use Visual C++ 6, for binary compatibility. Unfortunately, this isn't free ... There are free compilers for Win32 (eg, Borland, cygwin), but to use these you should compile everything (Perl and Apache2) with it. -- best regards, randy
Re: The procedure entry point for modperl_global_request could otbe located in the dynamic link library mod_perl.so.
On Tue, 4 Mar 2003, Richard Heintze wrote: I downloaded http://theoryx5.uwinnipeg.ca/pub/other/Perl-5.8-win32-bin.exe and ran the perl config.pl program. Since I received so many errors (see end of this email message) I decided to use my existing perl at c:\Perl\bin which is a version of 5.8 that is already in my path. I've snipped the output below, but actually those were all warnings, not errors - most are due to pod2html not finding things like a title in the pod, and the last one was CPAN.pm not understanding a TERM environment variable. These can all safely be ignored, When I start apache, I now get the error: The procedure entry point for modperl_global_request could ot be located in the dynamic link library mod_perl.so. OK. That's because the mod_perl.so you're using in the Apache2 modules/ directory was compiled with a different Perl and/or Apache2 than the one in that's being picked up in your PATH. I've tried everything short of building mod_perl myself (including the perl mpinstall, the single line ppm command and the repository command for ppm3). I'm trying to install Apache2 with mod_perl on perl5.8 on windows and I'm getting nowhere because I cannot seem to get a good copy of mod_perl. What am I doing wrong? I'd suggest, first of all, getting rid of the various Apache and Perl installations you have, and starting afresh. If you previously had installed an Apache2 service, remove it by C:\Path\to\Apache2\bin\Apache.exe -n Apache2 -k uninstall Then, either get the Perl-5.8-win32-bin.exe all-in-one binary, and install from it the Perl/ subdirectory to C:\Perl and the Apache2/ subdirectory to C:\Apache2. Alternatively, get an ActivePerl 8xx binary from www.activestate,com and an Apache2 binary from www.apache.org and install these, respectively, to C:\Perl and C:\Apache2. If you do the latter, then install the mod_perl ppm package as you've done before. -- best regards, randy
Re: Problems installing mod_perl2 on Apache2 on Win200
On Sun, 2 Mar 2003, Richard Heintze wrote: I have followed the instructions at http://perl.apache.org/docs/1.0/os/win32/install.html I've put the following in my httpd.conf file: LoadFile c:/Perl/bin/perl58.dll LoadModule mod_perl modules/mod_perl.so PerlRequire C:/Apache2/conf/extra.pl Hi, Does Apache run OK without mod_perl? Did you intend to have extra.pl under C:/Apache2/conf/, when the rest of the stuff is under C:/Program Files/Apache Group/Apache2/? It's no problem if you do ... I have expanded mod_perl-2.tar and extracted mod_perl.so into modules\mod_perl.so. And also did the 'ppm install mod_perl' to install the Perl side? I have c:perl\bin in my path. And still I get the error below. Can someone help me? Sieg C:\C:\Program Files\Apache Group\Apache2\bin\Apache.exe -w -f C:\Program Fil es\Apache Group\Apache2\conf\httpd.conf -d C:\Program Files\Apache Group\Apach e2\. Syntax error on line 135 of C:/Program Files/Apache Group/Apache2/conf/httpd.con f: Cannot load C:/Program Files/Apache Group/Apache2/modules/mod_perl.so into serve r: The specified module could not be found. Note the errors or messages above, and press the ESC key to exit. 0 C:\ Assuming you're using a recent mod_perl 2 ppm package, is your Apache version at least 2.0.43? Prior versions may not be compatible with this mod_perl, which was compiled against 2.0.44. Other than that, if at all possible, an idea might be to install Apache into a directory that doesn't contain spaces (eg, C:\Apache2). Or if that's not possible, try using DOS short path names for the directories in httpd.conf. -- best regards, randy kobes
Re: Can't connect to ppm-ia.ActiveState.com:80
On Sat, 1 Mar 2003, Richard Heintze wrote: The mod_perl installation works fine on my home machine. (I' have not actually tried it yet, but I don't get errors about contacting http://theoryx5.uwinopeg The office machine can browse the internet but still gives me errors when running perl mpinstall. The office machine connects to the internet via a proxy server -- perhaps that is the problem. Is there a way for mpinstall to accommodate a proxy server? How can I manually fetch the files that mpinstall is trying to get and install locally? Thanks, Siegfried The mpinstall script uses the getstore() routine of LWP::Simple, so if you have to do something special to get getstore() to work with your settings, you'd have to do the same thing for the mpinstall script. To install things manually, - get mod_perl.ppd from http://theoryx5.uwinnipeg.ca/ppms/ - get mod_perl.tar.gz from http://theoryx5.uwinnipeg.ca/ppms/x86/ and place it in the same directory as mod_perl.ppd - get mod_perl.so from http://theoryx5.uwinnipeg.ca/ppms/scripts/ and copy it to your Apache2 modules directory (eg, C:\Apache2\modules) - edit the HREF attribute of the CODEBASE tag in mod_perl.ppd to just read HREF=mod_perl.tar.gz - run, from the directory where you saved mod_perl.ppd, C:\ ppm install mod_perl.ppd This is all for ActivePerl build 8xx and Apache 2 / mod_perl 2. -- best regards, randy
Re: Can't connect to ppm-ia.ActiveState.com:80
On Fri, 28 Feb 2003, Richard Heintze wrote: I've searched the archives for connect and could find no hints. As per the mod_perl installation instructions, I type the following command: C:\Program Files\Apache Group\APACHE2\mod_perl-1.99_08ppm install http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer58 You don't want to do that - rather, try C:\ ppm install http://theoryx5.uwinnipeg.ca/ppms/mod_perl.ppd The address http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer58 is what you can set the repository to within the ppm shell. And I get these errors (see below). I have installed Apache 2 and perl 5.8 and I'm trying to install mod_perl2. Error: No valid repositories: Error: 500 Can't connect to ppm.ActiveState.com:80 (Bad hostname 'ppm.ActiveState.com') at D:/Perl/site/lib/PPM/Repository.pm line 84 Error: 500 Can't connect to ppm-ia.ActiveState.com:80 (Bad hostname 'ppm-ia.ActiveState.com') at D:/Perl/site/lib/PPM/Repository.pm line 84 There was recent discussion on the perl-win32-users mailing list (archives at http://www.activestate.com/) about this. Part of the problem I think is that ppm-ia.ActiveState.com isn't running yet. One recommendation was to use ppm2 for now. -- best regards, randy kobes
Re: [MP2] Apache::Reload date bug
On Thu, 27 Feb 2003, Ron Savage wrote: On Wed, 26 Feb 2003 09:23:39 +1100, Stas Bekman wrote: Hi Stas Have you tried the current mod_perl cvs? No. Being usually a Windows (shudder) user, I wait for Randy to issue a build. The mod_perl 2 ppm package (for ActivePerl 8xx) at http://theoryx5.uwinnipeg.ca/ppms/ is updated periodically with a cvs build - as of tonight, it's current. -- best regards, randy
Re: Building mod-perl 2 for cygwin
On Thu, 20 Feb 2003, Stas Bekman wrote: Steve Baldwin wrote: Unfortunately, I get the same (as far as I can see) result. Here's my latest perl -V ... You mean, you get a bunch of unresolved symbols, right? from your previous report: Now, make (of mod-perl) gives the following errors ... modperl_env.lo(.text+0x89e):modperl_env.c: variable '_PL_vtbl_env' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details. : Creating library file: libmod_perl.dll.a mod_perl.lo(.text+0x2f9):mod_perl.c: undefined reference to `_apr_pool_cleanup_null' mod_perl.lo(.text+0x2fe):mod_perl.c: undefined reference to `_apr_pool_cleanup_register' mod_perl.lo(.text+0x4e9):mod_perl.c: undefined reference to `_ap_log_error' mod_perl.lo(.text+0x52b):mod_perl.c: undefined reference to `_ap_mpm_query' What looks weird is: Creating library file: libmod_perl.dll.a I'm not a win32 user, but it looks strange to me that dll.a thing. Is that a valid thing? I understand that cygwin is unix over win32. Though it still builds native win32 dlls, no? So may be the problem is that the mod_perl build decides to go with unix build when it should really do the win32 build? Any developers on cygwin that can help us here? Hopefully Per Einar is around and can help. I have cygwin (for the tools), but haven't looked into compiling Apache/mod_perl with it. From what I understand, cygwin provides a C library (a dll) to get a unix-style API; this is to be contrasted with MinGW, which produces programs that don't rely on 3rd party dlls. cygwin, as well as having the usual .a (static) and .dll libs, does have a .dll.a type of lib, which is an import library. So having such a lib isn't unusual - whether that should be done here is another question ... -- best regards, randy kobes
Re: problem with mod_perl1.27 perl5.8/apa1.3.27
On Tue, 18 Feb 2003, Dmitri Dmitrienko wrote: Summary of my perl5 (revision 5 version 8 subversion 0) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread [ .. ] Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS Thanks for sending that ... That's strange - Win32 ActivePerl 8xx doesn't compile with mod_perl-1.27 because USE_LARGE_FILES is defined at compile-time, but you don't have that. Some time ago I tried a Win32 Perl-5.8 without USE_LARGE_FILES (just as you have) with mod_perl-1.27, and didn't see the problem you had with errno. Although it shouldn't make a difference here, did you use the stock CPAN sources or the ActiveState sources in compiling Perl? Also, do you find the same problem using the CVS mod_perl sources (http://perl.apache.org/download/source.html)? -- best regards, randy
Re: problem with mod_perl1.27 perl5.8/apa1.3.27
On Tue, 18 Feb 2003, Dmitri Dmitrienko wrote: It's a big fuzz :)) To get errno defined it was necessary to comment out include errno.h. Stupid thing... I believe this is fixed in the cvs mod_perl sources, in particular a change to src/modules/perl/apache_inc.h. Try those to see if that helps. -- best regards, randy
Re: [MP2] Apache::Reload date bug
On Wed, 19 Feb 2003, Stas Bekman wrote: Ron Savage wrote: On Tue, 18 Feb 2003 12:56:38 +1100, Stas Bekman wrote: perl -le 'warn(foo\n)' You got the quotes wrong for MS Windows, so I ran it twice: C:\Backupperl -le warn(qq|foo\n|) foo C:\Backupperl -le 'warn(foo\n)' well, you've got the idea, right. Perhaps someone on win32 can try to debug the behavior that you saw. I can't reproduce it on my linux box. With my ActivePerl 8xx compatible perl-5.8, sticking in a warn(foo\n); inside a simple handler that uses Apache::Reload just output foo in the error log, with no timestamp nor client reported, as expected. I'm wondering though if this is coming from one of the custom modules used - in the log === [Sun Feb 16 23:49:41 2003] -e: Apache::Reload: Can't locate C:/Perl/site/lib//CGI/Explorer.pm === the message from Apache::Reload: warn(Apache::Reload: Can't locate $file\n), next unless defined $mtime amd $mtime; has a '-e:' in front, suggesting perhaps that another module is contributing to this entry. Can you make up a stripped-down version that exhibits this behaviour? -- best regards, randy
Re: problem with mod_perl1.27 perl5.8/apa1.3.27
On Tue, 18 Feb 2003, Dmitri Dmitrienko wrote: Hello, I got following problem when compiled mod_perl 1.27 for Apache 1.3.27 and perl 5.8 for Win32 platform: Constants.xs(158) : error C2065: 'errno' : undeclared identifier after few hours of jumping around compiler I realized that #include errno.h should be commented out in perl.h. Then everything became good. Please tell me is anybody experienced anything like I did ? Is there any official workaround ? BTW, everything was ok with perl 5.6.0... What's 'perl -V' for you? -- best regards, randy kobes
Re: Randy Kobe's mod_perl2 all-in-one binary
On Thu, 30 Jan 2003, Lee Goddard wrote: I've just downloaded and installed your godsend of an all-in-one Apache2/mod_perl2 package - thanks very much for it! Server runs nicely. But is there a simple explanation of why I get the following message? Can't locate loadable object for module ModPerl::Const in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib .) at C:/Perl/site/lib/Apache/Const.pm line 3 Does the whole module not come as part of the package...? It should be there ... Do you have a PerlModule Apache2 directive in httpd.conf, or else have a use Apache2; in a startup file? This loads Apache2.pm (under /Perl/site/lib/), which adjusts @INC to include the /Perl/site/lib/Apache2/ directory. The error about not locating the loadable object for ModPerl::Const is referring to libraries under /Perl/site/lib/Apache2/auto/ModPerl/Const/. -- best regards, randy
Re: [mp2]
On Thu, 30 Jan 2003, Lee Goddard wrote: I do not understand this, please help: isn't this a message generated by something other than me? Error message: Can't locate object method server_root_relative via package Apache at C:/Perl/site/lib/Apache/compat.pm line 68. This is Apache 2.0.43, and Perl 5.8.0. This may be related to the earlier problem you had about not finding a loadable object for ModPerl::Const - does a PerlModule Apache2 directive in httpd.conf or a use Apache2; in a startup file help here? -- best regards, randy
Re: [mp2] POD
On Thu, 30 Jan 2003, Lee Goddard wrote: -BEGIN PGP SIGNED MESSAGE- Hash: MD5 Is the pod missing from the mp2 beta, or is it just mine? I've looked on perdoc.org, but nothing there for Apache::Const. I'm trying to find a replacement for Apache::Request::params() on mp2, and struggling furiously since Apache::compat doesn't seem to cover it. Hence the POD For now, the best places for info on mod_perl 2 are http://perl.apache.org/ and this mailing list (and archives). Until Apache::Request is ported to mod_perl 2.0, one can use methods in Apache::compat for dealing with form data - see the discussion of $r-content at http://perl.apache.org/docs/2.0/user/compat/compat.html (these docs are also available in the Win32 perl/apache binary distribution under /Apache2/manual/mod_perl/). -- best regards, randy
Re: pb with theoryx5 ppms archname
On January 29, 2003 08:45 am, [EMAIL PROTECTED] wrote: with perl 58 /win32 I noted that ppm refuses to install packages from http://theoryx5.uwinipeg.ca/ppms (the one for 5.8) because these packages mention ARCHITECTURE NAME=MSWin32-x86-multi-thread-5.8 while perl 580 built without archname (and the one from activestate) does not specify 5.8 but ARCHITECTURE NAME=MSWin32-x86-multi-thread only the packages still install after manual donwload and change of ppd file The specification of ARCHITECTURE NAME=MSWin32-x86-multi-thread-5.8 in the ppd files (which ActiveState also uses for 8xx ppm packages) is a result of a change in the behaviour of PPM with ActivePerl 8xx - Perl still reports the architecture as MSWin32-x86-multi-thread, but PPM (from ActiveState) for builds 8xx will only install ppm packages whose architecture in the ppd file has the '-5.8' tacked onto the end. This I think was done so that people wouldn't mistakenly install ppm packages for builds 6xx, which report the same ARCHITECTURE but which are binary incompatable with 8xx. The http://theoryx5.uwinnipeg.ca/ppms/ repository should work with ActivePerl 8xx (and also the recent Perl-5.8-win32-bin Perl/Apache distribution from ftp://theoryx5.uwinnipeg.ca/pub/other/), but for a self-compiled perl-5.8 used with the CPAN PPM distribution, a change in PPM.pm is needed - let me know (off-list) if you'd like a copy of the needed patch. -- best regards, randy
Re: AW: [mod_perl-2.0] server doesn't start, unable to Apache2?
On Mon, 27 Jan 2003, Robert Kehl wrote: Hi all! Thanks for your thoughts, Randy. Are there any helpful messages in the error log indicating what's failing? No, none. Perhaps the first thing to check - does LoadFile C:/Perl/bin/perl56.dll LoadModule perl_module modules/mod_perl.so alone, without any further mod_perl directives, prevent the server from starting? That works ok, for Perl 5.6.1 and 5.8.0. Surely I can't execute any perl then. This was just to test that the mod_perl.so module was OK, which apparently it is. The browser starts to load a page, but does not finish. After several minutes(!) it says 404. Is this even for a static page? You mentioned earlier that without mod_perl, CGI scripts execute OK, but are slow ... This might be a more general problem that should be looked at first If so, then it might be that you're running into the fact that mod_perl 2.0 on Win32 has problems with perl-5.6.1 (ActivePerl 6xx), and that the solution would be to migrate to perl-5.8.0 (ActivePerl 8xx). As long as I don't have a DBD-Mysql afterwards, that's not possible other than for testing. But it's the same for 5.8.0 - crashing, too. There's a DBD-mysql ppm package for ActivePerl 8xx available in our http://theoryx5.uwinnipeg.ca/ppms/ repository. However, if the server starts OK above, but things like PerlModule Apache2 cause it to crash, then it might be a misconfiguration, Ok, but where to configure? or faulty installation, or something similar. If this is the case, the error log should give a clue about what's failing. Nope, it doesn't, stays absolutely clear. The only thing happens is a small dialogue box popping up saying The requested operation has failed. Same happens if I comment PerlModule Apache2 and uncomment PerlRequire, if if the file to be required consists only of comments! Does Apache2.pm exist on your system (under, eg, C:\Perl\site\lib)? And does the file you use for PerlRequire have a '1;' as the last line (ie, return a true value)? If both of these are OK, then the fact that even these fail indicate something seriously wrong - these are really basic things. If the above doesn't help, I'd suggest, first of all, making sure Apache 2 works OK without mod_perl, including perl cgi scripts (simple pages and scripts should be served very fast). When you're satisfied with that, using Perl 5.8 if possible, remove existing mod_perl packages (1.0 and 2.0), and then reinstall mod_perl 2.0, making sure that mod_perl.so gets installed into your Apache2 modules/ directory. Then try loading mod_perl, and assuming that works, start adding simple things like you were doing - loading Apache2, and requiring a simple startup file. -- best regards, randy
Re: [ MP2] startup problem with XML::LibXML
On Sun, 26 Jan 2003, pascal barbedor wrote: hi what version of libxml2 should I use ? I tried to compile version 1.52 against versions libxml2-2.5.1 precompiled binary from xmlsoft test failed with segfault t\08findnodes.t list of failed 6-18 t\13dtd.tlist of failed 11-12 if I nmake install nevertheless , apache startup problem remains. I also found XML::LibXML had problems on Win32 against libxml2-2.5.1. before that I tried to compile XML::LibXML 1.52 against a slightly prior version of libxml2 all test successful but the problem with apache startup remains. [ ... ] I found that libxml2-2.4.26 worked OK with XML::LibXML's tests, but not latter versions (eg, 2.4.30). Christian Glahn, in a recent post on the perl-xml mailing list, also saw such problems, so it's not a Windows specific thing. I just tried making up a static XML::LibXML/XML::LibXSLT, to see if that would help any, but this still causes problems when used in a startup file. -- best regards, randy
Re: [mod_perl-2.0] server doesn't start, unable to Apache2?
On Sun, 26 Jan 2003, Robert Kehl wrote: Hi all, if you would be willing to spend a minute on helping me out of this: I'm trying to get mod_perl-2 running on Win32. Without success, of course. :( My box is a Win2k SP3 with 1GB RAM, ActivePerl 5.6.1 build 633, mod_perl-2 1.99_09-dev on Apache 2.0.43. Everything is freshly loaded and installed. Btw, mod_perl 1.27_01-dev is running smoothly on Apache 1.3.27. [ ... ] The hardest thing is, not even this works ok: PerlModule Apache2 The server simply doesn't start, so it can't be a fault in some-script.pl, which indeed is nothing more than a series of commented lines atm. Surely *no* perl script gets executed using the above configuration. If I do not load mod_perl, CGI executes fine. But slow ;) So, IMHO, the problem is, that mod_perl-2 doesn't load PerlModule Apache2. Doesn't load anything. Any ideas despite reinstalling everything? ;) Thank you for your attention and for your help, Are there any helpful messages in the error log indicating what's failing? Perhaps the first thing to check - does LoadFile C:/Perl/bin/perl56.dll LoadModule perl_module modules/mod_perl.so alone, without any further mod_perl directives, prevent the server from starting? If so, then it might be that you're running into the fact that mod_perl 2.0 on Win32 has problems with perl-5.6.1 (ActivePerl 6xx), and that the solution would be to migrate to perl-5.8.0 (ActivePerl 8xx). However, if the server starts OK above, but things like PerlModule Apache2 cause it to crash, then it might be a misconfiguration, or faulty installation, or something similar. If this is the case, the error log should give a clue about what's failing. -- best regards, randy kobes
Re: [MP2] pb with startup.pl and LibXML
On Wed, 22 Jan 2003, [iso-8859-1] [EMAIL PROTECTED] wrote: Hi I have SERVER_SOFTWARE: Apache/2.0.43 (Win32) mod_perl/1.99_08-dev Perl/v5.8.0 PHP/4.3.0 installed from theoryx5 all-in-one archive here is the problem I have : - package testxml; use strict; use warnings; use XML::LibXML(); use XML::LibXSLT(); use Data::Dumper; my $base='c:/apache2/mason'; my $promod= XML::LibXSLT-new-parse_stylesheet( XML::LibXML-new-parse_file($base/stylesheets/test.xsl)); print Dumper $promod ; 1; --- the above script runs ok when PERL testxml.pm is run. (outside of any apache environment) Dumper prints bless XML::LibXSLT::Stylesheet.. showing all parsing ok (the stylesheets is simplisssima one tag sheet) when it is USEed from startup.pl (# removed below in startup) then it also prints the line bless ... but apache issues a fatal error and refuses to start instruction 0X28027104 memory cant be read ! here is the startup.pl use Apache2 (); use lib 'c:/apache2/mason/lib'; use ModPerl::Util (); use Apache::RequestRec (); use Apache::RequestIO (); use Apache::RequestUtil (); use Apache::Server (); use Apache::ServerUtil (); use Apache::Connection (); use Apache::Log (); use Apache::Const -compile = ':common'; use APR::Const -compile = ':common'; use APR::Table (); use Apache::compat (); use ModPerl::Registry (); use CGI (); use XML::LibXML(); use XML::LibXSLT(); #use testxml; 1; same thing if you omit the xslt step in the testxml script I pointed out this problem from the early distribution of modperl2, it's not recent. Is it just when used from the startup file that problems arise? Does it run OK within Apache as, eg, part of a registry script? And if not, is it OK within an ordinary cgi script? Does adding a LoadFile /Path/to/libxml2.dll directive, before pulling in the startup script, help? (in the distribution from our site, libxml2.dll is in the Perl/bin/ directory). -- best regards, randy
Re: Re: [MP2] pb with startup.pl and LibXML
On Wed, 22 Jan 2003, [iso-8859-1] [EMAIL PROTECTED] wrote: Does adding a LoadFile /Path/to/libxml2.dll directive, before pulling in the startup script, help? (in the distribution from our site, libxml2.dll is in the Perl/bin/ directory). I have no libxml2.dll file from the all-in-one 30 or so MB archive donwloaded from theoryx5 Sorry for the confusion - I got mixed up with distributions. i only have libxml.dll in perl/site/lib/auto/xml/libxml I do have one libxml2.dll in my path from a separate xmlsoft download... maybe this is the reason of problems ? That might be You might try an upgraded LibXML/LibXSLT package from http://theoryx5.uwinnipeg.ca/ppms/ - this has fixed a couple of bugs. Both of these require XML-LibXML-Common, which does contain the libxml2.dll referred to above. The dll is, in theory, supposed to be installed from a post-install script under ppm, but this might not work within ppm3 - if one is using ppm3, one can grab XML-LibXML-Common.tar.gz from http://theoryx5.uwinnipeg.ca/ppms/x86/ and extract libxml2.dll from there. This dll should go somewhere within the PATH, and is the one I suggested to load with the LoadFile directive. apache issues the segfault (popup window) on every situation : mason modperl, registry or simple cgi. but then it restarts itself immediatly and serves the request (after a rather long restarting delay). the segfault sometimes does not happen for two or three times and then again. Weird -- best regards, randy
Re: the perl Script called from perlTranshandler seems to besynchronized
On Wed, 22 Jan 2003, Db-Doc SP wrote: Hello All, I am having a peculiar problem it seems that only one request can be serviced at a time while using mod_perl (perlTransHandler). we are using Apache 1.3.26 mod_perl It seems as though when I use mod_perl apache can handle only one request at a time. If the first request takes say 10 minutes to get response, during this 10 minutes all other requests are blocked, and are handled only after the first request is successfully processed and response sent out Would this happen to be on Win32? If so, you're probably running into the mod_perl 1.0 multithreading issues - see http://perl.apache.org/docs/1.0/os/win32/multithread.html and then http://perl.apache.org/docs/2.0/os/win32/install.html for information on installing mod_perl 2.0 to avoid this problem. -- best regards, randy kobes
[win32] upgrading to Apache 2.0.44
Sorry for the (slightly) off-topic post, but if you're a Win32 user and are looking to upgrade to Apache 2.0.44 due to some security fixes, some people have reported problems on Win98 with the upgrade. The Apache people have identified the problem, and most likely a fix will be released shortly. -- best regards, randy kobes
Re: Apache::Session
On Thu, 16 Jan 2003, Carl Holm wrote: Hello, I am looking for a PPM version of Apache::Session for Perl (v5.8.0 built for MSWin32-x86-multi-thread) and Apache/2.0.43. Any pointers would be greatly appreciated. Thanks, Carl Holm [EMAIL PROTECTED] I just put one up under http://theoryx5.uwinnipeg.ca/ppms/. However, some of the tests fail and/or hang under ActivePerl 8xx ... -- best regards, randy kobes
Re: CGI.pm
On Tue, 14 Jan 2003 [EMAIL PROTECTED] wrote: I try this simple module: #!/usr/bin/perl package My; use strict; use warnings; use Apache::RequestRec (); use Apache::RequestIO (); use Apache::RequestUtil (); use Apache::Const -compile = qw(OK); use APR::Table; use CGI; sub handler { my $r = shift; my $query=CGI-new(); print $query-param('id'); } -- and see that in error.log: [Tue Jan 14 13:59:08 2003] [error] Can't locate Apache.pm in @INC [...] What I'm doing wrong? How to parse urlecnoded? Does an upgrade of CGI.pm to the latest version help? Earlier versions aren't mod_perl 2.0 aware -- best regards, randy kobes
Re: Apache::DBI
On Mon, 6 Jan 2003, Paul Simon wrote: --- Randy Kobes [EMAIL PROTECTED] wrote: Are you using the latest versions of DBI and DBD::ODBC? If not, does an upgrade help? Those modules are - whatever was bundled with your first, warmly supplied :), Perl 5.8 + apache2 package on theoryx5. Possibly, DBI = 1.30 and DBD::ODBC = 0.43 If this is still a problem, you might try an upgrade - both DBI and DBD::ODBC are at newer versions now. We have ppm packages (for ActivePerl 8xx builds) of them at http://theoryx5.uwinnipeg.ca/ppms/ -- best regards, randy
Re: perl's system() w/ apache under win2k
On Fri, 3 Jan 2003, Stas Bekman wrote: Terra Info wrote: Two things: 1) this is not the list for this question. 2) a probable answer anyhow- If that's a real pitfall and it's doomed to be a recurrent question, can we please document this under win32/? Also, Randy, it seems that there is whole lot of win32 issues which apply to all mod_perl versions (per our faq discussion), so rather than duplicating them in docs/1.0/os/win32 and docs/2.0/os/win32, we should probably have an area for general win32 issues, e.g. docs/general/os/win32 and point to it from both 1.0 and 2.0. That's a good idea - there are general issues like that. I'll look into creating this. -- best regards, randy
[win32] large binary distributions
If you have trouble staying connected to get the (large) Win32 all-in-one binary packages, either Perl-5.8-win32-bin.exe (Perl-5.8.0/Apache-2.0.43/mod_perl-1.99) or perl-win32-bin.exe (Perl-5.6.1/Apache-1.3.27/mod_perl-1.27), from ftp://theoryx5.uwinnipeg.ca/pub/other/, there's now corresponding subdirectories ftp://theoryx5.uwinnipeg.ca/pub/other/Perl-5.8-win32-bin/ and ftp://theoryx5.uwinnipeg.ca/pub/other/perl-win32-bin/ containing these packages split across multiple files (of around 3 MB each). README.join contains directions for joining these files back together; alternatively, if you already have Perl on your system, the distinstall script found in these subdirectories will fetch the split files and do the joining for you. -- best regards, randy kobes
Re: mod_perl.c Not Compatible with Apache
On Fri, 3 Jan 2003, Steve Davis wrote: Upon successfully compiling mod_perl 2.0, and modifying httpd.conf so that it becomes invoked at the start of Apache 2.0.43, the following error message is gernerated. It is httpd failed. The error was: Starting httpd: httpd: module mod_perl.c is not compatible with this version of Apache. Please contact the vendor for the correct version. [FAILED] If you would like you, may refer to the previous thread named mod_perl make failed: cannot find -lapr for a history of the root of this problem-particularly the last post directly before this article. This also shows the detail environment and configuration for the server in question. Else, I would be glad more details to this post. In brief, let me say, the system consists of RH 8.0, apache 2.0.43, and current CVS edition of mod_perl 2.0. It has a date stamp of 1/1/03. This is one problem which I don't know how to proceed with. Is this message saying the code in mod_perl's mod_perl.c is using an edition of 'C' code that is incompatible with Apache 2.0? Is the development environment for which mod_perl 2.0 is being developed, by its creators, using a 'C' compiler that is different than what is found on RH 8.0? Does any one have an idea of how I might go about solving this problem? Any advance given would be appreciated. I think in general the problem mod_perl.c is not compatible with this version of Apache. means that mod_perl was compiled against a different set of Apache sources than that used to build the server trying to load the mod_perl module (assuming that the same compiler is being used in building Perl, Apache, and mod_perl). Just to clarify what came from where - are you using a modperl-2.0 cvs snapshot from http://cvs.apache.org/snapshots/modperl-2.0/? - are you running Apache 2.0.43, compiled from the sources httpd-2.0.43.tar.gz from http://httpd.apache.org/dist/httpd/? If so, does modperl-2.0 compile against these apache 2.0 sources successfully? -- best regards, randy
RE: mod_perl.c Not Compatible with Apache
On Fri, 3 Jan 2003, Steve Davis wrote: [ .. ] To configure Apache: ./configure --prefix=/etc/httpd --with-mpm=prefork To configure mod_perl: perl Makefile.PL MP_AP_PREFIX=/etc/httpd MP_APXS=/etc/httpd/bin/apxs MP_INST_APACHE2=1 MP_DEBUG=1 Also, when I examine /etc/httpd/bin/httpd (the executable), /etc/httpd/lib/libarp*, and /etc/module/mod_perl.so, all the theses files have a creation date that's current (today's date). Plus, /etc/httpd/httpd.conf points to the current file locations. According to the RH 8.0 docs regarding Apache 2.X, they suggest modifying httpd.conf to incorporate the use of an include statement which invokes /etc/conf.d/perl.conf. This latter file points to /etc/httpd/module/mod_perl.3.0. I've mapped the files and dates. There doesn't appear to be any conflict here. However, for good measure, I just completed a search of the /etc/* and /usr/* directories for the presence of the httpd executable. And there are two of them on the system. To be expected, the /etc/httpd/bin/httpd executable is present. However, these is also an existence of a httpd executable under /usr/sbin. When I changed the name of /etc/sbin/httpd to /etc/sbin/httpd-bu (backup). The httpd web server wouldn't start any longer (I toggled this off and on via the service utilility [start - system settings - service]). /etc/sbin/httpd has a footprint of 384.7K where as /etc/httpd/bin/httpd is a 2meg file. I don't know whether /etc/sbin/httpd is being used to merely start /etc/httpd/bin/httpd or not. If you can advise further it would be helpful. It sounds like /etc/sbin/httpd and /etc/httpd/bin/httpd are separate binaries, judging by their different sizes. You compiled modperl against /etc/httpd/bin/httpd, but your system is using /etc/sbin/httpd in the services utility to start. This might explain the problem you were having before - /etc/sbin/httpd might be an older apache binary from before (perhaps the installation), whereas mod_perl was compiled against the newer /etc/httpd/bin/httpd. It's hard to tell whether or not the binaries are sharing the same httpd.conf files. Did mod_perl's 'make test' pass? When you start the test, it reports which httpd it's using - is it /etc/httpd/bin/httpd? One thing you might try - stop the /etc/sbin/httpd service, and then go to /etc/httpd/bin and issue the command apachectl start to start the server associated with /etc/httpd/. This (normally) will use the httpd.conf under /etc/httpd/conf/, which presumably is the right one - if not, try starting httpd with the -f switch to specify the config file - see ./httpd -h for help. Alteratively, since you have a backup of /etc/sbin/httpd, try copying /etc/httpd/bin/httpd to /etc/sbin/httpd, and start the service. Do either of these work? If so, what you might do is forget completely about the httpd stuff under /etc (which sounds like it's getting mixed up with different versions), and compile httpd-2.0.43 using a prefix like /usr/local/httpd, and then compile and install mod_perl against this prefix. With a fresh install Apache will install a reasonable default httpd.conf. You'd then have to figure out how to adjust the service utility to start /usr/local/httpd/bin/httpd, rather than /etc/sbin/httpd. -- best regards, randy
Re: Apache::DBI
On Thu, 2 Jan 2003, Paul Simon wrote: Hi all I have a feeling this may be [OT], take it to the DBI list... But I'm hoping to eliminate as much as possible any suspicion that Apache::DBI/mod_perl is causing my headache. I'm trying to push this platform at work ;) If anyone can shed some light on this then I'd be very appreciative, of course. I have what's becoming a reoccuring problem with an app running under: Apache/2.0.42 (Win32) mod_perl/1.99_08-dev Perl/v5.8.0 I'm using Apache::compat and Apache::DBI for persistent database connections. [ ... ] For completeness sake, here's the connection string: my $DBH = DBI-connect(DBI:ODBC:$db, $user, $pass, { RaiseError = 1, PrintError = 1, AutoCommit = 1 }) or print( Unable to connect to Database: $DBI::errstr\n ) ; Finally, the error message I'm getting is: DBI-connect(pdb9) failed: [Oracle][ODBC][Ora]ORA-12535: TNS:operation timed out (SQL-S1000)(DBD: db_login/SQLConnect err=-1) at /Apache2/lib/perl/Apache/Standard3.pm line 29 This problem goes away if the ORacle server(on it's own hardware running windows 2000 pro) is restarted. The last time this happened the box Oracle resides on needed a cold reboot! So far, I haven't had to restart apache. Could Apache::DBI or mod_perl2 cause this behavior? When you say the problem goes away, does this mean that things work fine after the restart of the Oracle server? Or do you periodically have to do this restart? Are you using the latest versions of DBI and DBD::ODBC? If not, does an upgrade help? -- best regards, randy kobes
Re: mod_perl make failed: cannot find -lapr
On Tue, 31 Dec 2002, Steve Davis wrote: Your help will be very much appreciated to resolve the following issue. When attempting to make mod_perl.so, the make script 'almost' makes a touchdown but fails before getting to the finishing line. Now it is time get some help from a coach. Hopefully, with a little help, a touchdown will soon follow. Below, I present was appears to be the problem, but someone else will have to direct me to the next set of steps. [ .. ] This problem 'may' have to do with an issue of a change of naming conventions which were adapted by the apr apache group. Confer with Stas Bekman's post on Nov 26, 2002 with a title of Problems compiling mod_perl 1.99_07 in RH 8.0. He provides a cvs patch; but, unfortunately, I'm not familiar with using that-as least-as of yet. (Look's like I might have learn this package real soon.) Are they any intentions to update the mod_perl-1.99_07.tar.gz? If my conclusion is correct, then currently, and according to the on-line instructions, the present tar.gz edition is not compatible to the latest edition of apache. (2.0.43). So, 'maybe' the cause of my make failure. It appears as if, only the cvs repository maybe a valid for compiling. If my analysis is correct, and a new edition of the respective non-cvs files be acquired somehow. It might be easier to obtain the whole mod_perl 2.0 sources via cvs, rather than patching - this is described at http://perl.apache.org/download/source.html#2_0_Development_Source_Distribution You likely have a cvs client already, so it's a matter of changing to an appropriate directory and doing % cvs -d :pserver:[EMAIL PROTECTED]:/home/cvspublic login % cvs -d :pserver:[EMAIL PROTECTED]:/home/cvspublic co modperl-2.0 -- best regards, randy kobes
[win32] perl-5.8/mod_perl-2 binary
I've placed a self-extracting archive, Perl-5.8-win32-bin.exe, at ftp://theoryx5.uwinnipeg.ca/pub/other/, which contains a Win32 binary distribution of Perl-5.8 and Apache-2.0.43, including mod_perl-1.99_08. This was built using the sources provided by ActiveState for build 804, and as such, ppm packages installed via the included ppm utility from ActiveState's 5.8 repository can be used. Two README files, a short and a long one, describe the installation. An (experimental) script is included in the Perl bin/ directory which automates some of the needed configuration (manual checking is still advised). Included in the Apache2 distribution are a sample ModPerl::Registry script, a simple mod_perl-2 handler, and sample Apache::ASP and HTML::Mason pages. An Emberl ppm package will be made when available. Please let me know of any problems you encounter in the installation, especially as related to the configuration. For questions about mod_perl-2, this list and http://perl.apache.org/ are great resources, while for Embperl, Apache::ASP, or HTML::Mason specifically, see their respective sites and lists. -- best regards, randy kobes
[win32] install mod_perl via ppm
With different combinations of Perl and mod_perl versions, it can get confusing when installing mod_perl on Win32 via ppm in figuring out the right one to use. To help alleviate some of this, I've made up a script - mpinstall, accessible (soon) through the install docs in the Win32 OS specific sections of http://perl.apache.org/. This will take you through a dialogue, based on your configuration info, to determine and then install the appropriate mod_perl ppm package. It will also get and copy mod_perl.so to your relevant Apache modules directory - this is currently supposed to be done via a post-install script within ppm, but this functionality appears broken with ppm3. If you try this, please let me know of any problems. -- best regards, randy kobes
Re: modperl 2.0 problems with Apache::Cookie and related modules.
On Thu, 19 Dec 2002, b. ash wrote: Hi, I am trying to configure a working apache2/modperl2 setup, unfortunately I can not seemt to get a critical module Apache::Cookie to install, I keep getting this error. Can't locate Apache/MyConfig.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.0/i686-linux-thread-multi /usr/local/lib/perl5/5.8.0 /usr/local/lib/perl5/site_perl/5.8.0/i686-linux-thread-multi /usr/local/lib/perl5/site_perl/5.8.0 /usr/local/lib/perl5/site_perl .) at Makefile.PL line 27. BEGIN failed--compilation aborted at Makefile.PL line 27. any ideas what might be going on here. Apache::Cookie (and Apache::Request) haven't been ported to mod_perl-2 yet. Until that happens, you can use the mod_perl-2 compatibility mode to do form data, and for cookies, you can use a CPAN module (eg, CGI.pm). -- best regards, randy kobes