Discussion:
Using non threaded MPM but still compile error
(too old to reply)
Terrance Devor
2015-09-22 19:18:46 UTC
Permalink
Hello,

I am using perl build without threads and httpd with prefork. My understand
that this all non-threaded environment however, when trying to compile
mod_perl I still get the error:

* perl -V

Summary of my perl5 (revision 5 version 20 subversion 2) configuration:

Platform:
osname=linux, osvers=3.17.7-gentoo, archname=x86_64-linux
uname='linux calgary 3.17.7-gentoo #10 smp fri apr 17 05:13:54 2015
x86_64 intel(r) xeon(tm) cpu 3.60ghz genuineintel gnulinux '
config_args='-des -Duseshrplib -Darchname=x86_64-linux
-Dcc=x86_64-pc-linux-gnu-gcc -Doptimize=-O2 -pipe -Dldflags=-Wl,-O1
-Wl,--as-needed -Dprefix=/usr -Dinstallprefix=/usr -Dsiteprefix=/usr/local
-Dvendorprefix=/usr -Dscriptdir=/usr/bin -Dprivlib=/usr/lib64/perl5/5.20.2
-Darchlib=/usr/lib64/perl5/5.20.2/x86_64-linux
-Dsitelib=/usr/local/lib64/perl5/5.20.2
-Dsitearch=/usr/local/lib64/perl5/5.20.2/x86_64-linux
-Dvendorlib=/usr/lib64/perl5/vendor_perl/5.20.2
-Dvendorarch=/usr/lib64/perl5/vendor_perl/5.20.2/x86_64-linux
-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3
-Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3
-Dvendorman1dir=/usr/share/man/man1 -Dvendorman3dir=/usr/share/man/man3
-Dman1ext=1 -Dman3ext=3pm -Dlibperl=libperl.so.5.20.2
-Dlocincpth=/usr/include -Dglibpth=/lib64 /usr/lib64 -Duselargefiles
-Dd_semctl_semun -Dcf_by=Gentoo -Dmyhostname=localhost
-Dperladmin=***@localhost -Dinstallusrbinperl=n -Ud_csh -Uusenm -Di_ndbm
-Di_gdbm -Di_db -DDEBUGGING=none -Dinc_version_list=5.20.0/x86_64-linux
5.20.0 5.20.1/x86_64-linux 5.20.1 -Dlibpth=/usr/local/lib64 /lib64
/usr/lib64 -Dnoextensions=ODBM_File'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='x86_64-pc-linux-gnu-gcc', ccflags ='-fwrapv -fno-strict-aliasing
-pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2 -pipe',
cppflags='-fwrapv -fno-strict-aliasing -pipe'
ccversion='', gccversion='4.8.5', 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='x86_64-pc-linux-gnu-gcc', ldflags ='-Wl,-O1 -Wl,--as-needed'
libpth=/usr/local/lib64 /lib64 /usr/lib64
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.5/include-fixed /usr/lib /lib/../lib64
/usr/lib/../lib64 /lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=libc-2.20.so, so=so, useshrplib=true, libperl=libperl.so.5.20.2
gnulibc_version='2.20'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -pipe -Wl,-O1
-Wl,--as-needed'


Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
PERL_NEW_COPY_ON_WRITE 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
Locally applied patches:
gentoo/hints_hpux - Fix hpux hints
gentoo/aix_soname - aix gcc detection and shared library soname support
gentoo/EUMM-RUNPATH - https://bugs.gentoo.org/105054
cpan/ExtUtils-MakeMaker: drop $PORTAGE_TMPDIR from LD_RUN_PATH
gentoo/config_over - Remove -rpath and append LDFLAGS to lddlflags
gentoo/opensolaris_headers - [PATCH] Add headers for opensolaris
gentoo/patchlevel - List packaged patches for perl-5.20.2(#1) in
patchlevel.h
gentoo/cpanplus_definstalldirs - Configure CPANPLUS to use the site
directories by default.
gentoo/cleanup-paths - [PATCH] Cleanup PATH and shrpenv
gentoo/enc2xs - Tweak enc2xs to follow symlinks and ignore missing @INC
directories.
gentoo/enc2xs_checksums -
gentoo/darwin-cc-ld - https://bugs.gentoo.org/297751 [PATCH] darwin: Use
$CC to link
gentoo/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for
modules installed from CPAN.
gentoo/interix - [PATCH] Fix interix hints
gentoo/create_libperl_soname - https://bugs.gentoo.org/286840 [PATCH] Set
libperl soname
gentoo/mod_paths - Add /etc/perl to @INC
gentoo/EUMM_delete_packlist -
gentoo/drop_fstack_protector - https://bugs.gentoo.org/348557 [PATCH] Don't
force -fstack-protector on everyone
gentoo/usr_local - [PATCH] Remove /usr/local paths
gentoo/D-SHA-CFLAGS - https://bugs.gentoo.org/506818 [PATCH] Do not set
custom CFLAGS in cpan/Digest-SHA
gentoo/io_socket_ip_tests -
debian/cpan-missing-site-dirs - Fix CPAN::FirstTime defaults with
nonexisting site dirs if a parent is writable
debian/regcomp-mips-optim - Downgrade the optimization of regcomp.c on mips
and mipsel due to a gcc-4.9 bug
debian/perldoc-less-R - Tell the 'less' pager to allow terminal escape
sequences
debian/makemaker-pasthru - Pass LD settings through to subdirectories
fixes/net_smtp_docs - [rt.cpan.org #36038] Document the Net::SMTP 'Port'
option
fixes/memoize_storable_nstore - [rt.cpan.org #77790] Memoize::Storable:
respect 'nstore' option not respected
fixes/document_makemaker_ccflags - [rt.cpan.org #68613] Document that
CCFLAGS should include $Config{ccflags}
Built under linux
Compiled at Sep 9 2015 03:41:56
@INC:
/etc/perl
/usr/local/lib64/perl5/5.20.2/x86_64-linux
/usr/local/lib64/perl5/5.20.2
/usr/lib64/perl5/vendor_perl/5.20.2/x86_64-linux
/usr/lib64/perl5/vendor_perl/5.20.2
/usr/local/lib64/perl5
/usr/lib64/perl5/vendor_perl
/usr/lib64/perl5/5.20.2/x86_64-linux
/usr/lib64/perl5/5.20.2




* apachectl -V

Server version: Apache/2.4.16 (Unix)
Server built: Sep 22 2015 14:34:23
Server's Module Magic Number: 20120211:47
Server loaded: APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/usr/local/httpd-2.4.16"
-D SUEXEC_BIN="/usr/local/httpd-2.4.16/bin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"



Error


MP_APXS=/usr/local/apache2/bin/apxs
MP_APR_CONFIG=/usr/local/apr/bin/apr-1-config EVERYTHING=1
Reading Makefile.PL args from @ARGV
MP_USE_DSO = 1
MP_APXS = /usr/local/apache2/bin/apxs
MP_APR_CONFIG = /usr/local/apr/bin/apr-1-config
no conflicting prior mod_perl version found - good.
Using APXS => /usr/local/apache2/bin/apxs
Configuring Apache/2.4.16 mod_perl/2.0.9 Perl/v5.20.2
[ error] Using Perl 5.020002 w/o ithreads and httpd-2.4.
[ error] Failed requirements:
[ error] - Perl built with ithreads (build perl with -Duseithreads)

One final question. I remember reading a while back that perl's multi
threading module is unstable. Is this still the case? If not, I could just
recompile pearl with ithreads and call it a day however, would opt not to
do so if this is the case still.


Your help is greatly appreciated,

Terrance
Ken Peng
2015-09-23 02:11:38 UTC
Permalink
We are also using mod_perl. But I have not compiled modperl by hand for
a long time. Under ubuntu we just did:

apt-get install apache2 apache2-mpm-prefork
apt-get install libapache2-mod-perl2
apt-get install libapreq2
apt-get install libapache2-request-perl

a2enmod apreq
apache2ctl restart

And yes from what I know, it's not suggested to run multi-threading for
modperl.
Post by Terrance Devor
One final question. I remember reading a while back that perl's multi
threading module is unstable. Is this still the case? If not, I could
just recompile pearl with ithreads and call it a day however, would opt
not to do so if this is the case still.
--
B. Regards,
Ken Peng - ***@cloud-china.org
Terrance Devor
2015-09-23 12:51:58 UTC
Permalink
Hello Ken,

As you can see, we are also using prefork `Server MPM: prefork` and
perl without threading however,
we are still getting the error. Can anyone help with this please?

Thanks in Advance,

Terrance
​
Terrance Devor
2015-09-23 13:06:39 UTC
Permalink
I just wanted to mention, this the configure we used for apache

./configure --prefix=/usr/local/httpd-2.4.16 --enable-file-cache
--enable-cache --enable-disk-cache --enable-mem-cache --enable-deflate
--enable-expires --enable-headers --enable-usertrack --enable-ssl
--enable-vhost-alias --enable-rewrite --enable-so --enable-ldap
--enable-authnz-ldap --with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util/ --with-mpm=prefork
​
Terrance Devor
2015-09-24 11:42:25 UTC
Permalink
Can anyone help with this?​

T

Loading...