--- common/common.h.orig	2009-02-03 19:54:32.000000000 +0500
+++ common/common.h	2009-02-03 19:55:09.000000000 +0500
@@ -205,7 +205,12 @@
 {
     do
     {
-        lockFd=open(getLockName(), O_WRONLY | O_CREAT | O_EXCL);
+#if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 3 || (__GNUC_MINOR__ == 3 &&  __GNUC_PATCHLEVEL__ > 2)))
+	lockFd=open(getLockName(), O_WRONLY | O_CREAT | O_EXCL, 0777);
+#else
+	lockFd=open(getLockName(), O_WRONLY | O_CREAT | O_EXCL);
+#endif
+
         if (lockFd<0 && errno==EEXIST)
         {
             /* Hmm, lock file already exists. Is it stale? */