Before the question let me give some background info:

I have Ubuntu karmic installed on top of android on my asus transformer. I have also installed netbeans, git, tightvncserver and openssh.

I am viewing the desktop using an android vnc viewer app. Tightvnc is listening on port 5900 and 5901.

Now for the question/problem I have. I have installed apache2. It installed without a problem. When I start the apache service it show in terminal that it is initializing without a problem, but when I check the ports using netstat -tulpn I don't see apache listening on any ports. All I see is tightvnc.

This is the error I see in the apache error.log file.

[warn] pid file /var/run/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[emerg] (38)Function not implemented: Couldn't create accept lock (/var/lock/apache2/accept.lock.13752) (5)

This is show various times.

Any suggestions?

  • Did you add any modules to apache ? Any other errors in your logs (I know they can be cryptic). – Panther Dec 13 '11 at 0:09
  • I did add mysql and php5 modules. But removed them when I noticed the error to see if they were the cause. There are not other errors in the log. – Shattuck Dec 13 '11 at 0:31
  • Take a look at sudo /usr/sbin/apache2ctl configtest see if that gives a clue. – Panther Dec 13 '11 at 0:36
  • The response is "Could not reliably determine the server's fully qualified domain name, using for Servername" and Syntax OK – Shattuck Dec 13 '11 at 0:41
  • That is a common message help.ubuntu.com/community/ApacheMySQLPHP#Troubleshooting_Apache – Panther Dec 13 '11 at 0:48

This is related to lack of System V IPC in the kernel.

If you have the config file used to build the kernel, you can check for it; for example, in stock Ubuntu at the moment (the config filename will change depending on your exact version)

grep CONFIG_SYSVIPC /boot/config-3.0.0-13-generic



(amongst other things, but that's the important one).

In some kernels, you can also check /proc/config.gz if CONFIG_IKCONFIG_PROC is turned on; that gives you a gzipped dump of the currently running kernel's option (so use zgrep on it). Ubuntu's stock kernels don't have this turned on but you're unlikely to need it with those because the packages give you the config file anyway.

The solution: use the stock Ubuntu kernel (it's really quite good and has pretty much everything compiled in that you're ever likely to need) - or rebuild your custom kernel with this turned on.

  • That seems to be the problem. My entire boot folder is empty. I'll rebuild the kernel. Thanks for the help! – Shattuck Dec 13 '11 at 1:22

FYI I fixed this by adding the line

AcceptMutex fcntl

to the bottom of apache2.conf


I met the same error on Android with a chroot ubuntu distribution. I just change the following apache option (apache2.conf):

AcceptMutex flock

And it works for me. I hope it help.

  • I'll have to give that a try. Thank you for the answer! – Shattuck Jul 1 '13 at 14:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.