-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:
Perl variable expansion in build directory path (very minor)
In t/conf/extra.last.conf.in, lines 115-138, there are three places where
$PerlConfig or @PerlConfig is being set to values containing
@DocumentRoot@ from autoconf. Currently, the text being set to is
enclosed in double quotes. I believe this is incorrect (albeit a very
minor issue) and single quotes should be used.
Because of my directory naming conventions, I am having the lines show up
in extra.last.conf as
-----
#Single-line $PerlConfig
<Perl>
if (Apache::Test::have_module('mod_alias.c')) {
$PerlConfig = "Alias /perl_sections_perlconfig_scalar
/afs/.glue.umd.edu/project/glue/m/mod_perl/2.0.8/.build-apache-2.2.21-perl-5.16.3-@sys/t/htdocs";
}
</Perl>
----
Note the @sys in the build directory name (I am building in AFS, with
build-foo-bar being a symlink to .build-foo-bar-@sys, and via AFS magic
this becomes a platform specific build directory, i.e.
.build-foo-bar-amd64_rel60). Due to the double quotes, I am getting a warning
about possible unintended variable expansion, and $PerlConfig becomes
"Alias /perl_sections_perlconfig_scalar
/afs/.glue.umd.edu/project/glue/m/mod_perl/2.0.8/.build-apache-2.2.21-perl-5.16.3-/t/htdocs";
(Note the null string where @sys was), which is an invalid path and causes
other things to fail.
Since the path is being expanded from the working directory, I cannot see a
situation wherein you would _want_ perl variable expansion here, so it should
be using single quotes.
Again, minor issue in exceptional situation, but I think is an easy fix.
If I am mistaken and there is a valid reason to allow perl variable expansion
here, AFS users can easily work around by either fixing it locally or
creating symlinks
ln -s .build-foo-bar-@sys .build-foo-bar-
}
2. Used Components and their Configuration:
*** mod_perl version 2.000008
*** using
/usr/local/mod_perl/2.0.8/apache-2.2.24/perl-5.16.3/perl/lib/site_perl/5.16.3/x86_64-linux/Apache2/BuildConfig.pm
*** Makefile.PL options:
MP_APR_LIB => aprext
MP_APXS => /usr/local/apache2/2.2.24/bin/apxs
MP_AP_DESTDIR => /usr/local/mod_perl/2.0.8/apache-2.2.24/perl-5.16.3
MP_COMPAT_1X => 1
MP_GENERATE_XS => 1
MP_LIBNAME => mod_perl
MP_USE_DSO => 1
*** The httpd binary was not found
*** (apr|apu)-config linking info
-L/usr/local/apache2/2.2.24/lib -laprutil-1 -lexpat
-L/usr/local/apache2/2.2.24/lib -lapr-1 -luuid -lrt -lcrypt
*** /usr/local/perl/5.16.3/bin/perl -V
Summary of my perl5 (revision 5 version 16 subversion 3) configuration:
Platform:
osname=linux, osvers=2.6.32-279.14.1.el6.x86_64, archname=x86_64-linux
uname='linux igloo.umd.edu 2.6.32-279.14.1.el6.x86_64 #1 smp mon oct 15
13:44:51 edt 2012 x86_64 x86_64 x86_64 gnulinux '
config_args='-de -Dprefix=/usr/local/perl/5.16.3 -Dldflags=
-L/usr/local/BerkeleyDB/lib -Wl,-rpath,/usr/local/BerkeleyDB/lib
-Dccflags=-fPIC -I/usr/local/BerkeleyDB/include
-Dscriptdir=/usr/local/perl/5.16.3/scripts -Accflags='-fPIC'
-Dlibpth=/usr/local/BerkeleyDB/lib /usr/lib64 /usr/lib
-Dperladmin=requ...@umd.edu'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fPIC -I/usr/local/BerkeleyDB/include -fPIC
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-fPIC -I/usr/local/BerkeleyDB/include -fPIC -fno-strict-aliasing
-pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.4.6 20120305 (Red Hat 4.4.6-4)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/BerkeleyDB/lib
-Wl,-rpath,/usr/local/BerkeleyDB/lib -fstack-protector'
libpth=/usr/local/BerkeleyDB/lib /usr/lib64 /usr/lib
libs=-lnsl -ldb -ldl -lm -lcrypt -lutil -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.12'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/BerkeleyDB/lib
-fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV
PERL_MALLOC_WRAP PERL_PRESERVE_IVUV USE_64_BIT_ALL
USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE
USE_LOCALE_COLLATE USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
Built under linux
Compiled at Mar 15 2013 10:13:50
%ENV:
PERL5LIB="/usr/local/mod_perl/2.0.8/apache-2.2.24/perl-5.16.3/perl/lib/site_perl"
PERL_LWP_USE_HTTP_10="1"
@INC:
/usr/local/mod_perl/2.0.8/apache-2.2.24/perl-5.16.3/perl/lib/site_perl/5.16.3/x86_64-linux
/usr/local/mod_perl/2.0.8/apache-2.2.24/perl-5.16.3/perl/lib/site_perl/5.16.3
/usr/local/mod_perl/2.0.8/apache-2.2.24/perl-5.16.3/perl/lib/site_perl
/usr/local/perl/5.16.3/lib/site_perl/5.16.3/x86_64-linux
/usr/local/perl/5.16.3/lib/site_perl/5.16.3
/usr/local/perl/5.16.3/lib/5.16.3/x86_64-linux
/usr/local/perl/5.16.3/lib/5.16.3
.
*** Packages of interest status:
Apache2 : -
Apache2::Request : -
CGI : 3.63
ExtUtils::MakeMaker: 6.63_02
LWP : 6.05
mod_perl : -
mod_perl2 : 2.000008
3. This is the core dump trace: (if you get a core dump):
This report was generated by
/usr/local/mod_perl/2.0.8/apache-2.2.24/perl-5.16.3/perl/bin/mp2bug on Fri Sep
13 18:33:47 2013 GMT.
-------------8<---------- End Bug Report --------------8<----------
Tom Payerle
IT-ETI-EUS paye...@umd.edu
University of Maryland (301) 405-6135
College Park, MD 20742-4111