[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
coreutils-8.12.193-d8dc8 on OSF/1
From: |
Bruno Haible |
Subject: |
coreutils-8.12.193-d8dc8 on OSF/1 |
Date: |
Wed, 7 Sep 2011 11:49:45 +0200 |
User-agent: |
KMail/1.13.6 (Linux/2.6.37.6-0.5-desktop; KDE/4.6.0; x86_64; ; ) |
Hi Jim, Paul,
> I hope to be able to make the coreutils-8.13 release on Wednesday.
There is a regression: A new compilation error on OSF/1 5.1.
CC openat.o
cc: Error: openat.h, line 59: In this statement, "AT_SYMLINK_NOFOLLOW" is not
declared. (undeclared)
return fchownat (fd, file, owner, group, AT_SYMLINK_NOFOLLOW);
-------------------------------------------^
cc: Error: openat.h, line 71: In this statement, "AT_SYMLINK_NOFOLLOW" is not
declared. (undeclared)
return fchmodat (fd, file, mode, AT_SYMLINK_NOFOLLOW);
-----------------------------------^
cc: Error: openat.h, line 83: In this statement, "AT_SYMLINK_NOFOLLOW" is not
declared. (undeclared)
return fstatat (fd, name, st, AT_SYMLINK_NOFOLLOW);
--------------------------------^
cc: Error: openat.c, line 190: In this statement, "AT_FDCWD" is not declared.
(undeclared)
if (fd == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file))
------------^
cc: Error: openat.c, line 262: In the initializer for fd, "O_SEARCH" is not
declared. (undeclared)
int fd = open ("/", O_SEARCH);
----------------------^
*** Exit 1
It's apparently a compiler bug: The compiler remembers that <fcntl.h> has
already been included in line openat.c:26 and therefore skips it when it is
being included later, from openat.h:22.
I'm committing this workaround (looks stupid, but works!).
2011-09-07 Bruno Haible <address@hidden>
openat: Work around compilation error with OSF/1 5.1 DTK cc.
* lib/openat.h: Use different syntax for include of <fcntl.h>.
--- lib/openat.h.orig Wed Sep 7 11:47:10 2011
+++ lib/openat.h Wed Sep 7 11:46:50 2011
@@ -19,7 +19,9 @@
#ifndef _GL_HEADER_OPENAT
#define _GL_HEADER_OPENAT
-#include <fcntl.h>
+/* Write "fcntl.h" here, not <fcntl.h>, otherwise OSF/1 5.1 DTK cc miscompiles
+ openat.c because that file has a preliminary #include <fcntl.h>. */
+#include "fcntl.h"
#include <sys/types.h>
#include <sys/stat.h>
--
In memoriam Joseph Lee Heywood <http://en.wikipedia.org/wiki/Joseph_Lee_Heywood>
- coreutils-8.12.193-d8dc8 on OSF/1,
Bruno Haible <=