Actions
Bug #14089
closedConfigure/build issue on OSX 10.12 w/ utimensat
Description
For other reasons I recently installed xcode (instead of JUST using the command line developer tools). This caused builds on ruby to break.
The symptom happens when rdoc tries to build the doco:
dyld: lazy symbol binding failed: Symbol not found: _utimensat
You can see this in the build output:
file.c:2580:13: warning: 'utimensat' is only available on macOS 10.13 or newer
[-Wunguarded-availability-new]
if (utimensat(AT_FDCWD, path, tsp, 0) < 0) {
^~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:374:5: note:
'utimensat' has been explicitly marked partial here
int utimensat(int __fd, const char *__path, const struct timespec __...
^
file.c:2580:13: note: enclose 'utimensat' in a __builtin_available check to
silence this warning
if (utimensat(AT_FDCWD, path, tsp, 0) < 0) {
^~~~~~~~~
and the clue is that path to MacOSX10.13.sdk
. The Xcode.app doesn't ship with 10.12, but the developer tools do. It is fixed with:
$ sudo xcode-select --switch /Library/Developer/CommandLineTools
This is here mostly for documentation / search purposes... but maybe we could do something to improve the situation by figuring out that it is being linked against the wrong SDK version?
Actions
Like0
Like0Like0