You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Terrance Devor <te...@gmail.com> on 2015/09/22 21:18:46 UTC

Using non threaded MPM but still compile error

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=root@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

Re: Using non threaded MPM but still compile error

Posted by Terrance Devor <te...@gmail.com>.
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
​

Re: Using non threaded MPM but still compile error

Posted by Terrance Devor <te...@gmail.com>.
Can anyone help with this?​

T

Re: Using non threaded MPM but still compile error

Posted by Terrance Devor <te...@gmail.com>.
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
​

Re: Using non threaded MPM but still compile error

Posted by Ken Peng <ke...@cloud-china.org>.
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.

On 2015/9/23 星期三 3:18, Terrance Devor wrote:
> 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 - ken@cloud-china.org