Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 88874

Summary: mod_php-4.3.11-r1 installs libphp4.so in new directory
Product: Gentoo Linux Reporter: Travis Post <tukachinchila>
Component: [OLD] ServerAssignee: PHP Bugs <php-bugs>
Status: RESOLVED FIXED    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Installs 70_mod_php.conf in the old location.
Changes the apache2 config directory
Installs 70_mod_php.conf in the old location

Description Travis Post 2005-04-12 09:40:41 UTC
After emerging mod_php-4.3.11 and restarting apache, everything worked fine for the last ~24 hours.
After emerging mod_php-4.3.11-r1 last night, apache won't start: 

**Apache2 has detected a syntax error in your configuration files:
**Syntax error on line 6 of /usr/lib/apache2/conf/modules.d/70_mod_php.conf:
**Cannot load /usr/lib/apache2/extramodules/libphp4.so into server: **/usr/lib/apache2/extramodules/libphp4.so: cannot open shared object file: No **such file or directory

It looks like mod_php-4.3.11-r1 is installing libphp4.so in /usr/lib/apache2/modules/libphp4.so but /usr/lib/apache2/conf/modules.d/70_mod_php.conf is expecting the file to be in the old /usr/lib/apache2/extramodules/libphp4.so location.

I apologize if this is a duplicate. The only related bug I found had to do with mod_php-4.3.11 (not 4.3.11-r1), and was related to portage overlay and broken symlinks. In this case there are no symlinks involved. That was bug 88699.

Reproducible: Didn't try
Steps to Reproduce:
1.echo "dev-php/mod_php ~amd64" >> /etc/portage/package.keywords
2.echo ">=dev-php/mod_php-5.0.0" >> /etc/portage/package.mask
3.emerge -uD mod_php

Actual Results:  
mod_php-4.3.11-r1 emerged without any errors. After executing
`/etc/init.d/apache2 restart`, apache would not start due to the error listed in
the Details.

Expected Results:  
70_mod_php.conf has already been updated correctly, but it's being installed in
the wrong location (/etc/apache2/modules.d) instead of
(/etc/apache2/conf/modules.d).

Gentoo Base System version 1.4.16
Portage 2.0.51.19 (default-linux/amd64/2004.3, gcc-3.4.3,
glibc-2.3.4.20041102-r1, 2.6.11-hardened-r1 x86_64)
=================================================================
System uname: 2.6.11-hardened-r1 x86_64 AMD Opteron(tm) Processor 248
Python:              dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb  7 2005, 03:03:21)]
dev-lang/python:     2.3.4-r1
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4
sys-devel/binutils:  2.15.92.0.2-r7
sys-devel/libtool:   1.5.14
virtual/os-headers:  2.6.8.1-r4
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=opteron"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=opteron"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org"
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="X acl acpi alsa amd64 apache2 avi bash-completion berkdb bitmap-fonts crypt
curl dedicated directfb esd fam font-server fortran gd gd-external gdbm gif gpm
gtk gtk2 hardenedphp imap imlib java jp2 jpeg junit libwww lzw lzw-tiff mad
maildir mikmod motif mp3 mpeg multilib ncurses ogg oggvorbis opengl oss pam
pdflib perl php png postgres python qt readline sdl slang spell ssl tcltk tcpd
tiff truetype truetype-fonts type1-fonts usb userlocales vhosts vorbis wmf xml
xml2 xmms xpm xrandr xv zlib"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Comment 1 Travis Post 2005-04-12 09:44:15 UTC
Created attachment 56095 [details, diff]
Installs 70_mod_php.conf in the old location.

I don't know if the changes should go in mod_php-4.3.11-r1 or on
depend.apache.eclass. I'll submit a patch for that file next so the developers
can decide.
Comment 2 Travis Post 2005-04-12 09:48:05 UTC
Created attachment 56096 [details, diff]
Changes the apache2 config directory

This changes the config directory for apache2. It may be better to use the
patch for mod_php-4.3.11-r1 instead.
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2005-04-12 09:58:13 UTC
No, this change is intentional. Please see Bug 77556 and http://dev.gentoo.org/~vericgar/doc/apache-package-refresh.html
Comment 4 Travis Post 2005-04-12 10:04:55 UTC
Created attachment 56098 [details, diff]
Installs 70_mod_php.conf in the old location
Comment 5 Travis Post 2005-04-12 11:19:49 UTC
Oops. So the patches are a step backwards. Thanks for the links Jakub (it's nice to see they're standardizing the apache installation). But the upgrade to mod_php-4.3.11-r1 still caused an error with apache (I should note that I'm using apache-2.0.52-r1). Perhaps mod_php-4.3.11-r1, should depend on >=net-www/apache-2.0.53 and/or dev-libs/apr?
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2005-04-12 11:33:26 UTC
You should be using preferably the latest ~x86 Apache with the latest unstable mod_php, which in turn solves the apr dependencies. Put the following into /etc/portage/package.keywords

net-www/apache ~x86
dev-libs/apr ~x86
dev-libs/apr-util ~x86
net-www/gentoo-webroot-default ~x86
dev-php/mod_php ~x86

Otherwise, this is a too long and too messy story... 
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2005-04-14 05:01:31 UTC
12 Apr 2005; Christian Parpart <trapni@gentoo.org>
  mod_php-4.3.11-r1.ebuild:
  let mod_php-4.3.11-r1 depend on apache-2.0.52-r3 instead of 2.0.43-r1 since
  only 2.0.52-r3 and above contain (and will contain) the new configuration
  layout, thus, this should prevent invalid bug reports, too

Therefore, closing this bug as FIXED.