--- Begin Message ---
Subject: |
Compilation fails on Mac OS X 10.8.0 |
Date: |
Fri, 18 Jan 2013 17:32:47 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:10.0.4) Gecko/20120510 Icedove/10.0.4 |
Hello,
Trying to compile the latest coreutils on Mac OS X, I get the following
compilation error:
$ ./configure
[ works OK ]
$ make
[ ... ]
CC lib/stpncpy.o
lib/stpncpy.c:34: error: expected declaration specifiers or '...' before
numeric constant
lib/stpncpy.c:34: error: expected ')' before '!=' token
lib/stpncpy.c:34: error: expected ')' before '?' token
make[2]: *** [lib/stpncpy.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
This happens with the released version 8.20, and also with "8.20.90-e27bfd" (I
had to git-pull on another machine and do "make dist" to generate it).
The compiler is (From Apple's Xcode-452-command-line-tools package):
$ clang --version
Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin10.8.0
Thread model: posix
The OS is:
$ uname -a
Darwin minimacc.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7
16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386
I can provide more details if needed.
Regards,
-gordon
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#13495: Compilation fails on Mac OS X 10.8.0 |
Date: |
Mon, 21 Jan 2013 22:20:15 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 |
On 01/21/2013 11:39 AM, Assaf Gordon wrote:
> This fixes the problem. Compilation succeeds with both gcc and clang.
Thanks for checking. I pushed the following patch into gnulib
and am marking this coreutils bug as done.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-01-21 Paul Eggert <address@hidden>
+
+ stpncpy: port to OS X 10.8
+ * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
+ Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
+
2013-01-16 Paul Eggert <address@hidden>
unistd: port to recent mingw
diff --git a/lib/stpncpy.c b/lib/stpncpy.c
index 466cd5f..8b14fb9 100644
--- a/lib/stpncpy.c
+++ b/lib/stpncpy.c
@@ -31,7 +31,7 @@
/* Copy no more than N bytes of SRC to DST, returning a pointer past the
last non-NUL byte written into DST. */
char *
-__stpncpy (char *dest, const char *src, size_t n)
+(__stpncpy) (char *dest, const char *src, size_t n)
{
char c;
char *s = dest;
--
1.7.11.7
--- End Message ---