cURL / Mailing Lists / curl-library / Single Mail


macOS10.12/Xcode8 introduces run-time crash when building libcurl for earlier iOS versions

From: Peter White (jawhite2) <>
Date: Wed, 14 Sep 2016 16:24:58 +0000

Hi there,

On macOS Sierra (v10.12) and iOS 10, the function clock_gettime has been introduced in the Darwin kernel. When building libcurl on macOS 10.12 with Xcode 8 and iOS10 SDK, the configure script will return yes for "monotonic clock_gettime" (around Line 20434 of configure).

However, when using libcurl in an application on an earlier version of iOS, this will cause a run time crash due to a missing symbol for clock_gettime.

No crash occurs on an iPhone 6 running iOS10, but on an iPad running iOS9.3.5, a crash occurs due to a missing symbol for clock_gettime.

OS: macOS Sierra (v10.12). Darwin kernel version 16.0.0
Libcurl version build: v7.49.1
Building libcurl for iOS 9.0 with Xcode 8 GM seed.

Configure output with Xcode 8 (on macOS 10.12)
configure:20433: checking for monotonic clock_gettime
configure:20466: /Applications/ -c -isysroot /Applications/ -miphoneos-version-min=9.0 -arch armv7 -mthumb -DNDEBUG -isystem /Volumes/local/JenkinsSlave/trunk/dependencies/openssl/include -Qunused-arguments -Os conftest.c >&5
configure:20466: $? = 0
configure:20468: result: yes

Configure output with Xcode 7 (on OSX 10.11)
configure:20466: /Applications/ -c -isysroot /Applications/ -miphoneos-version-min=9.0 -arch armv7 -mthumb -isystem /Volumes/local/JenkinsSlave/trunk/dependencies/openssl/include -Qunused-arguments -Os conftest.c >&5
conftest.c:72:15: warning: implicit declaration of function 'clock_gettime' is invalid in C99 [-Wimplicit-function-declaration]
        (void)clock_gettime(CLOCK_MONOTONIC, &ts);
conftest.c:72:29: error: use of undeclared identifier 'CLOCK_MONOTONIC'
        (void)clock_gettime(CLOCK_MONOTONIC, &ts);
1 warning and 1 error generated.
configure:20466: $? = 1

I changed "curl_func_clock_gettime" to "no" in configure as a quick workaround and the libcurl binary didn't cause any issues in either iOS9 or iOS10.

Although not tested yet, I believe the same issue would occur when building libcurl on macOS 10.12 and using that binary on OSX 10.11 or lower.


List admin:
Received on 2016-09-14