I just updated to 2.2.4-r7 and I haven't had this problem before this update so I'm filing this bug. after patching I always restart a service.
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
I've tracked down the source of the problem.
(or any listen directive) in httpd.conf while having (I assume) name based directives in my virtual hosts.
I found my solution here http://www.linuxquestions.org/questions/showthread.php?t=405377 post 11.
the thread may help articulate it better than I am able to. I've not had a problem with this before and I didn't update my httpd.conf or vhosts configuration. if there were any updates to any of the other apache config files that come with the package in this version they would have been updated.
You didn't run etc-update or dispatch-conf properly (see Bug 178966).
*** Bug 183006 has been marked as a duplicate of this bug. ***
etc-update has nothing to do with this, which is actually TWO bugs.
The first bug is that the configuration was changed in such way that will cause this happen to begin with. One must manually go into the configuration and remove conflicting Listen directives. At the very least, the portage output should be changed to provide a message that explains that Apache cannot handle conflicting Listen directives and to be sure to remove them.
The second bug is the erroneous error message. Apache should simply state there are conflicting Listen directives. This is really an upstream bug and I reopened a bug there regarding it, http://issues.apache.org/bugzilla/show_bug.cgi?id=32534
Please re-read Bug 178966 more carefully. You didn't run etc-update/dispatch-conf, end of story. The Listen stuff has been moved somewhere else.
> This is really an upstream bug and I reopened a bug there regarding it,
That will make upstream really happy as it has nothing to do with them, this configuration is purely Gentoo-specific stuff. :P
No, you are misunderstanding.
1) Portage output of emerging apache should inform users of this change because there may be no way to avoid it otherwise. etc-update doesn't delete existing custom config files that one has. This message, of course, won't help if a user is reading emerge output, but there should be some mention of it.
2) The output of apache is a specific bug in apache and it's a bug for two reasons. One is that apache should more sense on what to do when it sees multiple Listen directives and not just fail altogether and 2) the message is untrue. There is no foreign program bound to the port. Even apache isn't bound to it because it's failed to launch.