Closed mwesolowski closed 5 years ago
Hrm, can you also dump all the messages from running ./configure?
I suspect your OS supports utimensat but lacks UTIME_OMIT, which is a really unusual situation.
Sure.
./configure
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for utimensat... yes
checking for CreateSymbolicLinkW... no
checking for GetFinalPathNameByHandleW... no
configure: creating ./config.status
config.status: creating HsDirectoryConfig.h
Ok. Now I see I have sys/stat.h in at least two different locations. One defines UTIME_OMIT and the other doesn't:
diff /usr/include/sys/stat.h /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/stat.h
326c326,329
< /* Bits 0x0080 through 0x4000 are currently undefined. */
---
> #define UF_DATAVAULT 0x00000080 /* entitlement required for reading */
> /* and writing */
>
> /* Bits 0x0100 through 0x4000 are currently undefined. */
337c340
< #define SF_RESTRICTED 0x00080000 /* restricted access */
---
> #define SF_RESTRICTED 0x00080000 /* entitlement required for writing */
365a369,375
>
> #define UTIME_NOW -1
> #define UTIME_OMIT -2
>
> int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
> int utimensat(int __fd, const char *__path, const struct timespec __times[2],
> int __flag) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
@Rufflewind I googled that I can install headers from the package macOS_SDK_headers_for_macOS_10.14.pkg Now it compiles without any problems. Thanks for the hint.
Great to hear!
Hi! I try to build directory from sources on macOS 10.14. Unfortunately I get the following error:
Do I need to install some additional lib?