Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 101292 - dev-perl/mod_perl-2.0.1-r1 requires perl built with ithreads?
Summary: dev-perl/mod_perl-2.0.1-r1 requires perl built with ithreads?
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-04 00:03 UTC by Martin Mokrejš
Modified: 2005-08-14 13:26 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Mokrejš 2005-08-04 00:03:11 UTC
>>> md5 files   ;-) files/digest-mod_perl-1.29
>>> md5 files   ;-) files/mod_perl-1.99.17-Apache2.pm
>>> md5 src_uri ;-) mod_perl-2.0.1.tar.gz
>>> Unpacking source...
>>> Unpacking mod_perl-2.0.1.tar.gz to /var/tmp/portage/mod_perl-2.0.1-r1/work
 * Applying mod_perl-2.0.1-sneak-tmpdir.patch ...                              
                                        [ ok ]
>>> Source unpacked.
Reading Makefile.PL args from @ARGV
   MP_TRACE = 1
   MP_DEBUG = 1
   MP_USE_DSO = 1
   MP_APXS = /usr/sbin/apxs2
mod_perl/1.99_11 installation detected...ok (will install mod_perl/2.0.1 into
PREFIX=/var/tmp/portage/mod_perl-2.0.1-r1/image/usr, no collision)
Configuring Apache/2.0.54 mod_perl2/2.0.1 Perl/v5.8.7
[  error] Using Perl 5.8.7 w/o ithreads and 'worker' mpm httpd.
[  error] Failed requirements:
[  error]   - Perl built with ithreads (build perl with -Dusethreads)


!!! ERROR: www-apache/mod_perl-2.0.1-r1 failed.
!!! Function src_compile, Line 79, Exitcode 1



Guys, what am I supposed to do now? The error message is not really clear to me.
Inspecting make.conf I see I had ithreads missing but other threads flags turned
on. Is that my problem?

--No, I don't want to turn ithreads for perl as I don't want to play threads
related bugs in perl modules.

Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1,
2.6.11.7 i686)
=================================================================
System uname: 2.6.11.7 i686 Intel(R) Pentium(R) 4 CPU 2.60GHz
Gentoo Base System version 1.6.13
ccache version 2.4 [disabled]
dev-lang/python:     2.3.5, 2.4.1-r1
sys-apps/sandbox:    1.2.11
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.4.19-r1, 2.6.11-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-mmmx -msse -msse2 -O2 -fomit-frame-pointer -mtune=pentium4
-march=pentium4 -funroll-loops -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/bind
/var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-mmmx -msse -msse2 -O2 -fomit-frame-pointer -mtune=pentium4
-march=pentium4 -funroll-loops -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.muni.cz/pub/linux/gentoo http://gentoo.mirror.icd.hu/
http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/
http://gd.tuwien.ac.at/opsys/linux/gentoo/
ftp://ftp.tu-clausthal.de/pub/linux/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X Xaw3d acpi apache2 apm arts ati avi berkdb bidi bitmap-fonts bonobo
ccache cdr crypt cscope cups curl dba dga directfb dvb dvd dvdr eds emacs
emacs-w3 emboss encode esd ethereal f77 fam fbcom flac foomaticdb fortran
freetype2 fvwm fvwm2 gb gd gdbm ggi gif gphoto2 gpm gstreamer gtk gtk2 gtkhtml
icc imagemagick imlib innodb java jpeg lcms leim libg++ libwww mad mcal mesa
mikmod mmx motif mozilla mp3 mpeg mule mysql ncurses nls nptl ogg oggvorbis
opengl oss pam pda pdflib perl plotutils png ppds pthread pthreads python qt
quicktime readline samba scanner sdl slang slp spell sse sse2 ssl tcltk tcpd
tetex thread threads tiff truetype truetype-fonts type1-fonts unicode usb vorbis
wmf xml xml2 xmms xosd xv zeo zlib video_cards_radeon userland_GNU kernel_linux
elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS

# perl -V
Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
  Platform:
    osname=linux, osvers=2.6.11.7, archname=i686-linux
    uname='linux ribosome 2.6.11.7 #1 mon apr 18 18:26:21 cest 2005 i686
intel(r) pentium(r) 4 cpu 2.60ghz genuineintel gnulinux '
    config_args='-des -Darchname=i686-linux -Dcccdlflags=-fPIC
-Dccdlflags=-rdynamic -Dcc=i686-pc-linux-gnu-gcc -Dprefix=/usr
-Dvendorprefix=/usr -Dsiteprefix=/usr -Dlocincpth=  -Doptimize=-mmmx -msse
-msse2 -msse3 -O3 -fomit-frame-pointer -mtune=pentium4 -march=pentium4
-funroll-loops -pipe -Duselargefiles -Dd_semctl_semun -Dscriptdir=/usr/bin
-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3
-Dinstallman1dir=/var/tmp/portage/perl-5.8.7/image//usr/share/man/man1
-Dinstallman3dir=/var/tmp/portage/perl-5.8.7/image//usr/share/man/man3
-Dman1ext=1 -Dman3ext=3pm -Dinc_version_list=5.8.0 5.8.0/i686-linux 5.8.2
5.8.2/i686-linux 5.8.4 5.8.4/i686-linux 5.8.5 5.8.5/i686-linux 5.8.6
5.8.6/i686-linux  -Dcf_by=Gentoo -Ud_csh -Di_ndbm -Di_gdbm -Di_db'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='i686-pc-linux-gnu-gcc', ccflags ='-fno-strict-aliasing -pipe
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-mmmx -msse -msse2 -msse3 -O3 -fomit-frame-pointer -mtune=pentium4
-march=pentium4 -funroll-loops -pipe',
    cppflags='-fno-strict-aliasing -pipe'
    ccversion='', gccversion='3.4.3-20050110 (Gentoo Linux 3.4.3.20050110,
ssp-3.4.3.20050110-0, pie-8.7.7)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='i686-pc-linux-gnu-gcc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.3.4.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.3.4'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: USE_LARGE_FILES
  Built under linux
  Compiled at Jul  2 2005 22:55:13
  @INC:
    /etc/perl
    /usr/lib/perl5/site_perl/5.8.7/i686-linux
    /usr/lib/perl5/site_perl/5.8.7
    /usr/lib/perl5/site_perl/5.8.2
    /usr/lib/perl5/site_perl/5.8.2/i686-linux
    /usr/lib/perl5/site_perl/5.8.4
    /usr/lib/perl5/site_perl/5.8.4/i686-linux
    /usr/lib/perl5/site_perl/5.8.5
    /usr/lib/perl5/site_perl/5.8.5/i686-linux
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/5.8.7/i686-linux
    /usr/lib/perl5/vendor_perl/5.8.7
    /usr/lib/perl5/vendor_perl/5.8.4
    /usr/lib/perl5/vendor_perl/5.8.5
    /usr/lib/perl5/vendor_perl/5.8.5/i686-linux
    /usr/lib/perl5/vendor_perl/5.8.6
    /usr/lib/perl5/vendor_perl/5.8.6/i686-linux
    /usr/lib/perl5/vendor_perl
    /usr/lib/perl5/5.8.7/i686-linux
    /usr/lib/perl5/5.8.7
    /usr/local/lib/site_perl
    /usr/lib/perl5/site_perl/5.8.2
    /usr/lib/perl5/site_perl/5.8.2/i686-linux
    /usr/lib/perl5/site_perl/5.8.4
    /usr/lib/perl5/site_perl/5.8.4/i686-linux
    /usr/lib/perl5/site_perl/5.8.5
    /usr/lib/perl5/site_perl/5.8.5/i686-linux
    .

I have 2.0.54-r13 installed and no dev-perl/Apache-Test as it blocked something
in the "emerge -u world" path when I started the upgrade yesterday.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2005-08-04 01:16:42 UTC
> --No, I don't want to turn ithreads for perl as I don't want to play threads
> related bugs in perl modules.

Then recompile Apache with USE="mpm-prefork"... However, the mod_perl ebuild
should probably check for this and give some more friendly advise.
Comment 2 Michael Cummings (RETIRED) gentoo-dev 2005-08-04 01:58:57 UTC
I think this is a conflict between an mpm apache and a non-threaded perl - you
should be doing one or the other, not mixing (ie, non-mpm apache and
non-threaded perl, or mpm'd apache and threaded perl). I'm adding rendhalver to
this so he can comment
Comment 3 Rendhalver 2005-08-04 03:09:50 UTC
the thing with apache-2 and mod_perl-2 is that if you have apache with threads
you need a perl built with ithreads.
confusing i know but it doesn't work otherwise.
if you wish to keep a threaded apache you will need to rebuild perl with ithreads.
and then you will also need to rebuild everything that depends on perl.
running "perl-cleaner reallyall" will do this for you.
that command will rebuild all the perl modules and everything that depends on perl.

but if you don't want a threaded perl then you will need to rebuild apache
without threads.
Comment 4 Julian Sasse 2005-08-06 19:19:01 UTC
I had this same exact problem and I added the following to my package.use:
net-www/apache mpm-prefork -mpm-worker
and then did a rebuild (apache and mod_perl) and that seems to work.

One odd thing is that I would have expected "mpm-preform" to have been the
default already since PHP was installed (and if I'm not mistaken "mpm-preform"
is highly recommended with using PHP with Apache2).
Comment 5 Michael Cummings (RETIRED) gentoo-dev 2005-08-08 03:26:39 UTC
A note is being added (with a kill if all conditions are met) to the current
mod_perl-2.0.1-r2 ebuild to block non-threaded perls and threaded apaches from
building modperl2. Should at least cover warning folks about this bug.
Comment 6 Michael Cummings (RETIRED) gentoo-dev 2005-08-14 13:26:58 UTC
afraid there isn't much more than the warning that we can do about this at this time