Mailing List Archive

installing mod_perl on Windows 10
Hi.
After (very) long and faithful service, I had to replace my old Windows XP development
laptop by a new one, which of course came with Windows 10.
And I am having problems installing Apache 2.4 + Strawberry perl + mod_perl.

Apache 2.4 is from ApacheLounge
(https://www.apachelounge.com/download/VS16/binaries/httpd-2.4.41-win64-VS16.zip) and
installed under C:\apache24
Strawberry perl is (see below)
and both seem to work separately.

Next I try to install mod_perl2 from CPAN and I get the following, see below.
Any clue as to what I'm doing wrong ?

(Note : prior to this, I tried to install mod_perl manually from the downloaded file
"mod_perl-2.0.10-strawberryperl-5.26.1.1-64bit.zip", but this seems to result in modules
having wrong line endings and crashing the compiler).

C:\Users\aw>cpan mod_perl2
Loading internal null logger. Install Log::Log4perl for logging messages
CPAN: CPAN::SQLite loaded ok (v0.211)
CPAN: LWP::UserAgent loaded ok (v6.33)
CPAN: Time::HiRes loaded ok (v1.9758)
Fetching with LWP:
http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
CPAN: YAML::XS loaded ok (v0.69)
Fetching with LWP:
http://cpan.strawberryperl.com/modules/02packages.details.txt.gz
Fetching with LWP:
http://cpan.strawberryperl.com/modules/03modlist.data.gz
Creating database file ...
Done!
Running install for module 'mod_perl2'
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/S/SH/SHAY/mod_perl-2.0.11.tar.gz
CPAN: Digest::SHA loaded ok (v6.01)
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/S/SH/SHAY/CHECKSUMS
CPAN: Compress::Zlib loaded ok (v2.081)
Checksum for C:\STRAWB~1\cpan\sources\authors\id\S\SH\SHAY\mod_perl-2.0.11.tar.gz ok
CPAN: Archive::Tar loaded ok (v2.26)
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: Parse::CPAN::Meta loaded ok (v2.150010)
CPAN: CPAN::Meta loaded ok (v2.150010)
Configuring S/SH/SHAY/mod_perl-2.0.11.tar.gz with Makefile.PL
no conflicting prior mod_perl version found - good.

Next we need to know where the 'apxs' script is located. This script
provides a lot of information about the Apache installation, and makes
it easier to find things on your system. Normally it's located in the
same directory as the 'httpd' executable.

If you don't yet have Apache installed you can build Apache against
the Apache source code, but you won't be able to run the test suite (a
very important step). Therefore you may want to install Apache before
proceeding.


Please provide a full path to 'apxs' executable
(press Enter if you don't have it installed):


Configure mod_perl with C:\Apache24? [y] y
Configuring Apache/2.4.41 mod_perl/2.0.11 Perl/v5.26.2
Use of uninitialized value $httpd_version in string lt at lib/ModPerl/MapUtil.pm line 51.
Checking if your kit is complete...
Looks good
Warning (mostly harmless): No library found for
C:/STRAWB~1/cpan/build/mod_perl-2.0.11-0/src/modules/perl/mod_perl.lib
ERROR from evaluation of
C:\STRAWB~1\cpan\build\mod_perl-2.0.11-0\Apache-Reload/Makefile.PL: Use of uninitialized
value $v in substitution (s///) at Apache-Test/lib/Apache/TestRun.pm line 1100.
Warning: No success on command[C:\Strawberry\perl\bin\perl.exe Makefile.PL]
SHAY/mod_perl-2.0.11.tar.gz
C:\Strawberry\perl\bin\perl.exe Makefile.PL -- NOT OK
Stopping: 'install' failed for 'mod_perl2'.

C:\Users\aw>

Perl :
C:\Users\aw>perl -V
Summary of my perl5 (revision 5 version 26 subversion 2) configuration:

Platform:
osname=MSWin32
osvers=10.0.16299.371
archname=MSWin32-x64-multi-thread
uname='Win32 strawberry-perl 5.26.2.1 #1 Sun Apr 15 13:52:49 2018 x64'
config_args='undef'
hint=recommended
useposix=true
d_sigaction=undef
useithreads=define
usemultiplicity=define
use64bitint=define
use64bitall=undef
uselongdouble=undef
usemymalloc=n
default_inc_excludes_dot=define
bincompat5005=undef
Compiler:
cc='gcc'
ccflags =' -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANSI_STDIO
-DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv
-fno-strict-aliasing -mms-bitfields'
optimize='-s -O2'
cppflags='-DWIN32'
ccversion=''
gccversion='7.1.0'
gccosandvers=''
intsize=4
longsize=4
ptrsize=8
doublesize=8
byteorder=12345678
doublekind=3
d_longlong=define
longlongsize=8
d_longdbl=define
longdblsize=16
longdblkind=3
ivtype='long long'
ivsize=8
nvtype='double'
nvsize=8
Off_t='long long'
lseeksize=8
alignbytes=8
prototype=define
Linker and Libraries:
ld='g++'
ldflags ='-s -L"C:\STRAWB~1\perl\lib\CORE" -L"C:\STRAWB~1\c\lib"'
libpth=C:\STRAWB~1\c\lib C:\STRAWB~1\c\x86_64-w64-mingw32\lib
C:\STRAWB~1\c\lib\gcc\x86_64-w64-mingw32\7.1.0
libs= -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32
-lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32
-lodbccp32 -lcomctl32
perllibs= -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32
-lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32
-lodbccp32 -lcomctl32
libc=
so=dll
useshrplib=true
libperl=libperl526.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_win32.xs
dlext=xs.dll
d_dlsymun=undef
ccdlflags=' '
cccdlflags=' '
lddlflags='-mdll -s -L"C:\STRAWB~1\perl\lib\CORE" -L"C:\STRAWB~1\c\lib"'


Characteristics of this binary (from libperl):
Compile-time options:
HAS_TIMES
HAVE_INTERP_INTERN
MULTIPLICITY
PERLIO_LAYERS
PERL_COPY_ON_WRITE
PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT
PERL_IMPLICIT_SYS
PERL_MALLOC_WRAP
PERL_OP_PARENT
PERL_PRESERVE_IVUV
USE_64_BIT_INT
USE_ITHREADS
USE_LARGE_FILES
USE_LOCALE
USE_LOCALE_COLLATE
USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC
USE_LOCALE_TIME
USE_PERLIO
USE_PERL_ATOF
Built under MSWin32
Compiled at Apr 15 2018 13:56:45
@INC:
C:/Strawberry/perl/site/lib
C:/Strawberry/perl/vendor/lib
C:/Strawberry/perl/lib
Re: installing mod_perl on Windows 10 [ In reply to ]
On Jan 8, 2020, at 10:17 AM, André Warnier (tomcat/perl) <aw@ice-sa.com> wrote:
> Please provide a full path to 'apxs' executable
> (press Enter if you don't have it installed):
>
>
> Configure mod_perl with C:\Apache24? [y] y

It seems to me you didn’t provide the *full* path to the apxs executable. I would think that the full path should end with “\bin\apxs”.

Hope this helps,
Ed
Re: installing mod_perl on Windows 10 [ In reply to ]
On 08.01.2020 17:19, Edward J. Sabol wrote:
> On Jan 8, 2020, at 10:17 AM, André Warnier (tomcat/perl) <aw@ice-sa.com> wrote:
>> Please provide a full path to 'apxs' executable
>> (press Enter if you don't have it installed):
>>
>>
>> Configure mod_perl with C:\Apache24? [y] y
>
> It seems to me you didn’t provide the *full* path to the apxs executable. I would think that the full path should end with “\bin\apxs”.
>
> Hope this helps,
> Ed
>

In fact it never really asks. The only thing I entered, was the "cpan mod_perl2" command.
All the rest is just output, without any prompt.
For example here :

>> Configure mod_perl with C:\Apache24? [y] y

the "y" answer was not entered by me, it did it itself.
Re: installing mod_perl on Windows 10 [ In reply to ]
Hi.
One more time.
I am trying to install Apache 2.4 (64-bit, ApacheLounge) + perl (Strawberry, 5.26.2,
64-bit) + mod_perl 2 (all versions shown below in cpanm output), on a (German) Windows 10
laptop. (*)

The work directory below is leftover from a previous command "cpanm mod_perl2".
Apache 2.4 is installed and starts up (as a service), error log :
[Wed Jan 08 14:38:40.071509 2020] [mpm_winnt:notice] [pid 15800:tid 820] AH00455:
Apache/2.4.41 (Win64) configured -- resuming normal operations
..
(note : the c:\apache24\bin directory contains no apxs script, and according to the source
files of mod_perl, apxs does not seem to work under MSWin anyway)

perl works

but the mod_perl install breaks, build log below.
Any clues anyone ?

log (in Windows 10 command window, run as administrator) :

C:\Users\aw\.cpanm\work\1578998136.19100\mod_perl-2.0.11>
C:\Users\aw\.cpanm\work\1578998136.19100\mod_perl-2.0.11>cpanm --interactive --prompt .
--> Working on .
Configuring mod_perl-2.0.11 ... no conflicting prior mod_perl version found - good.

Next we need to know where the 'apxs' script is located. This script
provides a lot of information about the Apache installation, and makes
it easier to find things on your system. Normally it's located in the
same directory as the 'httpd' executable.

If you don't yet have Apache installed you can build Apache against
the Apache source code, but you won't be able to run the test suite (a
very important step). Therefore you may want to install Apache before
proceeding.


Please provide a full path to 'apxs' executable
(press Enter if you don't have it installed):


Configure mod_perl with C:\Apache24? [y] y
Configuring Apache/2.4.41 mod_perl/2.0.11 Perl/v5.26.2
Checking if your kit is complete...
Looks good
Warning (mostly harmless): No library found for
C:/Users/aw/.cpanm/work/1578998136.19100/mod_perl-2.0.11/src/modules/perl/mod_perl.lib
ERROR from evaluation of
C:\Users\aw\.cpanm\work\1578998136.19100\mod_perl-2.0.11\Apache-Reload/Makefile.PL: Use of
uninitialized value $v in substitution (s///) at Apache-Test/lib/Apache/TestRun.pm line 1100.
Configuring failed.
You can s)kip, r)etry, e)xamine build log, or l)ook ? [s] l
...


(*) which may interfere with the process in unfathomable ways.
E.g. there is no directory "c:\users" visible in Windows Explorer, it is instead called
"C:\Benutzer". But that does not seem to immediately stop the command-line process from
changing to the work directory C:/Users/aw/.cpanm/work/, go figure..