Building diffutils 3.6 on macOS 10.3.3 with the newly-released command-line tools for Xcode 9.3 causes a test failure:
-------8<-------------------------------------------------------------
FAIL: test-vasnprintf
=====================
FAIL test-vasnprintf (exit status: 132)
------>8--------------------------------------------------------------
gnulib-tests/test-suite.log carries no further information than that.
In configure.log, I find the following:
-------8<-------------------------------------------------------------
configure:7678: checking for vasnprintf
configure:7678: gcc -o conftest -g -O2 conftest.c >&5
Undefined symbols for architecture x86_64:
"_vasnprintf", referenced from:
_main in conftest-25dffe.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
------>8--------------------------------------------------------------
I'm really wondering whether a diffutils 3.6 that fails this test is safe to keep using.
The exact same failure happens when building grep, and I have emailed
address@hidden to report this.
I'm not sure if this is related or not, but config.log also has:
------>8--------------------------------------------------------------
configure:7678: checking for snprintf
configure:7678: gcc -o conftest -g -O2 conftest.c >&5
conftest.c:108:6: warning: incompatible redeclaration of library function 'snprintf' [-Wincompatible-library-redeclaration]
char snprintf ();
^
conftest.c:108:6: note: 'snprintf' is a builtin with type 'int (char *, unsigned long, const char *, ...)'
1 warning generated.
------>8--------------------------------------------------------------
I'm also not sure if *this* is related or not, but I see the following compiler warning during build:
CC diff.o
diff.c:1016:21: warning: adding 'int' to a string does not append to the string
[-Wstring-plus-int]
printf (" %s\n" + 2 * (*msg != ' ' && *msg != '-'), msg);
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff.c:1016:21: note: use array indexing to silence this warning
printf (" %s\n" + 2 * (*msg != ' ' && *msg != '-'), msg);
^
& [ ]
-Charles