php-5.4.1_rc1 fails with apache-2.4.1 on gentoo
Today the apache-2.4.1 ebuild has appeared in gentoos portage tree. Emerging php-5.4.1_rc1 fails with installed apache-2.4.1 web server on gentoo with the following error message:
Configuring SAPI modules
checking for AOLserver support… no
checking for Apache 1.x module support via DSO through APXS… no
checking for Apache 1.x module support… no
checking whether to enable Apache charset compatibility option… no
checking for Apache 2.0 filter-module support via DSO through APXS… no
checking for Apache 2.0 handler-module support via DSO through APXS…
Sorry, I cannot run apxs. Possible reasons follow:
1. Perl is not installed
2. apxs was not found. Try to pass the path using –with-apxs2=/path/to/apxs
3. Apache was not built using –enable-so (the apxs usage page is displayed)
The output of /usr/sbin/apxs follows:
./configure: line 8325: /usr/sbin/apxs: No such file or directory
configure: error: Aborting
The reason for this is, that the apxs executable does not get installed with the apache-2.4.1 ebuild. According to gmane.org this issue got fixed with the apache-2.4.1-r1 ebuild. However, after upgrading apache to 2.4.1-r1 emerging php still fails with the same error message. A quick look onto the filesystem shows that /usr/sbin/apxs got installed as well as the /usr/sbin/apxs2 symlink got created.
mittelerde sbin # ls -alsh apxs*
24K -rw-r–r– 1 root root 23K 1. Apr 16:14 apxs
0 lrwxrwxrwx 1 root root 14 1. Apr 16:14 apxs2 -> /usr/sbin/apxs
This also reveals the reason for emerging php failing with apache-2.4.1-r1. The /usr/sbin/apxs perl-script coming with the apache-2.4.1-r1 ebuild lacks the executable flag.
Thus a simple
chmod +x /usr/sbin/apxs
solves the issue and emerging php afterwards works like a charm. Most probably this will get fixed with the next apache ebuild. To get the apache configuration working after the 2.4 upgrade, you might want to read: Upgrading to 2.4 from 2.2.
Jürgen
April 2nd, 2012 at 10:41 am
This issue got fixed in the apache-2.4.1-r2 ebuild.
April 13th, 2012 at 8:00 pm
today (4/13/12) emerge –sync/emerge -uDp world
is downgrading apache 2.4.1-r2 to 2.2.22.
any ideas what’s happened?
reconfiguring apache for 2.4 only to be downgraded back to 2.2 has been enough stress already 🙂
April 14th, 2012 at 2:21 am
I can also confirm the downgrade to apache-2.2.22 with the current portage tree.
Forcing the 2.4 version leads to the following:
mittelerde ~ # emerge -pv “>www-servers/apache-2.2.22″
These are the packages that would be merged, in order:
Calculating dependencies… done!
[ebuild U #] app-admin/apache-tools-2.4.1 [2.2.22] USE=”ssl” 0 kB
[ebuild U #] www-servers/apache-2.4.1-r2 [2.2.22] USE=”doc ssl suexec threads -debug -ldap (-selinux) -static” APACHE2_MODULES=”actions alias asis auth_basic auth_digest authz_host autoindex cache cgi cgid dav dav_fs dir env expires headers include info log_config mem_cache mime mime_magic negotiation proxy setenvif speling status userdir -authn_alias -authn_anon -authn_dbd -authn_dbm -authn_default -authn_file -authz_dbm -authz_default -authz_groupfile -authz_owner -authz_user -cern_meta -charset_lite -dav_lock -dbd -deflate -disk_cache -dumpio -ext_filter -file_cache -filter -ident -imagemap -log_forensic -logio -proxy_ajp -proxy_balancer -proxy_connect -proxy_ftp -proxy_http -proxy_scgi -reqtimeout -rewrite -substitute -unique_id -usertrack -version -vhost_alias” APACHE2_MPMS=”worker -event -itk -peruser -prefork” 0 kB
Total: 2 packages (2 upgrades), Size of downloads: 0 kB
The following mask changes are necessary to proceed: (13 Apr 2012) (13 Apr 2012)
#required by www-servers/apache-2.4.1-r2, required by @selected, required by @world (argument)
# /usr/portage/profiles/package.mask:
# Patrick Lauer
# Needs lots of fixes, plus modules fail, so mask until it’s
# generally useful and proper
=app-admin/apache-tools-2.4.1
#required by dev-lang/php-5.4.1_rc2[apache2], required by @selected, required by @world (argument)
# /usr/portage/profiles/package.mask:
# Patrick Lauer
# Needs lots of fixes, plus modules fail, so mask until it’s
# generally useful and proper
=www-servers/apache-2.4.1-r2
Thus there seem to be some problems with the 2.4 version. However I tried to add
=app-admin/apache-tools-2.4.1 and
=www-servers/apache-2.4.1-r2 to my package.mask. The 2.4 apache version is good enough for the applications on my test server (my production systems are still on apache-2.2.21-r1). You can get the 2.4 apache version backto work by unmasking it, but the main question is, if it brings problems, that are unacceptable for you.
Jürgen
April 16th, 2012 at 9:33 pm
thanks, I downgraded, not sure if security was an issue.