Red Hat Bugzilla – Bug 5650
1.3.9 apache-devel breaks PHP
Last modified: 2008-05-01 11:37:52 EDT
With the latest RPM of apache-devel if you configure PHP
using ./configure --with-apxs=/usr/sbin/apxs --with-mysql
--with-xml you end up with an error like:
/usr/sbin/apxs -i -a -n php3 libphp3.so
cp libphp3.so modules/libphp3.so
cp: cannot create regular file `modules/libphp3.so`: No such
file or directory
apxs:Break: Command failed with rc=65536
make:***[install] Error 1
This is because in the /usr/sbin/apxs script has:
my $CFG_PREFIX ='/usr/';
my $CFG_SBINDIR ='/usr/sbin';
my $CFG_INCLUDEDIR ='/usr/include/apache';
my $CFG_LIBEXECDIR ='modules';
my $CFG_SYSCONFDIR ='/etc/httpd/conf';
Everything but the LIBEXEDIR has a full path setting, in the
clean source tar file from apache this is set to
This isn't just a PHP issue. This bug makes an apxs install
impossible for any package built to use apxs.
*** Bug 5696 has been marked as a duplicate of this bug. ***
apache-1.3.9-4 & apache-devel-1.3.9-4 rpms are installed
from the rh6.1 upgrade.
apxs -q LIBEXECDIR gives 'modules' where is should be
giving a fully qualifed directory like
apxs -q INCLUDEDIR does.
*** Bug 5848 has been marked as a duplicate of this bug. ***
apache-devel-1.3.9 has a bug where:
/usr/sbin/apxs -q LIBEXECDIR
returns, just "module"
Under 1.3.6-7 the same command returns
------- Additional Comments From email@example.com 10/11/99 17:03 -------
It looks like the problem is in the apache_1.3.9-apxs.patch:
-my $CFG_LIBEXECDIR = '@libexecdir@'; # substituted
+my $CFG_LIBEXECDIR = 'modules'; # substituted
Not sure why you are removing the @libexecdir@, but taking that out
fixes the problem.
I'll await the official word from you.
------- Additional Comments From 10/29/99 04:40 -------
Oh, Tanner, that doesn't fix much. The broken AXPS from 136 couldn't
-a modules correctly. The 'fixed' one can't -i them correctly. it's
painfully obvious that this file wasn't tested even as simply as an
apxs -c -i -a mod_foo.c.
A further patch, utilising the very coding that apci was probably
trying to avoid, may fix the behaviour:
! my $dir = 'modules';
$dir =~ s|^$CFG_PREFIX/?||;
$dir =~ s|(.)$|$1/|;
another almost-as bad patch, same area:
my $dir = $CFG_LIBEXECDIR;
-$dir =~ s|^$CFG_PREFIX/?||;
$dir =~ s|(.)$|$1/|;
the second one is no better thant he first, imho, because it changes
the 'format' or standard location of the modules in the httpd.conf
file. Hey, at least it may go. CAVEAT: I don't do a lick of perl.
At least I tested the first patch, which makes me a step ahead of
RHQA in one aspect.
------- Additional Comments From firstname.lastname@example.org 10/29/99 04:42 -------
Hmm. My email wasn't added as it should have been.
*** Bug 6618 has been marked as a duplicate of this bug. ***
Using apxs to install a locally compiled version of php
fails because apxs tries to install it to a 'modules'
directory in the current directory, not into the apache
The fix I used is to manually edit /usr/sbin/apxs, changing
my $CFG_LIBEXECDIR = 'modules';
my $CFG_LIBEXECDIR = '/usr/lib/apache';
Will email a trivial patch.
this will be fixed in an upcoming errata release.