Yes, we’re discussing this one internally too and trying to figure out what the 
right answer is. Maybe the best solution for now is to find a good mechanism to 
check the underlying version of the OS and split it out into a function as you 
suggest.

- Tony

> On Jul 6, 2017, at 7:37 AM, Ian Partridge via swift-corelibs-dev 
> <swift-corelibs-dev@swift.org> wrote:
> 
> Good shout Simon, you are right.  I'm on Sierra.  Compare and contrast:
> 
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/tzfile.h
> #define TZDIR   "/usr/share/zoneinfo"
> 
> /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/tzfile.h
> #define TZDIR   "/var/db/timezone/zoneinfo"
> 
> so I guess if I installed the High Sierra beta it would work OK.
> 
> I hacked CF to force it to use /usr/share/zoneinfo and TestFoundation
> is much happier, but that's not a solution.
> 
> On 6 July 2017 at 15:20, Simon Evans <s...@si.org <mailto:s...@si.org>> wrote:
>> Ian
>> 
>> I also saw this error, I think its because the TZDIR is different in the 
>> headers shipped with Xcode 9. Maybe the location of the timezone directory 
>> was moved between Sierra and High Sierra. What version of macOS are you 
>> testing on?
>> 
>> If it has indeed moved between 10.12 and 10.13 it may require a runtime 
>> version check to dynamically return TZDIR.
>> 
>> Simon
>> 
>> 
>>> On 6 Jul 2017, at 15:09, Ian Partridge via swift-corelibs-dev 
>>> <swift-corelibs-dev@swift.org> wrote:
>>> 
>>> Hi,
>>> 
>>> I'm seeing quite a lot of tests failing when running the
>>> TestFoundation target in Xcode.  The failures are timezone related.
>>> Most simply, the code
>>> 
>>> let timeZone = TimeZone(abbreviation: "GMT")
>>> 
>>> is returning nil.
>>> 
>>> Walking through the CF code which sets things up, it seems to be
>>> trying to read the timezone database from
>>> /var/db/timezone/zoneinfo/zone.tab which doesn't exist on my macOS
>>> system.
>>> 
>>> /usr/share/zoneinfo/zone.tab is there and seems to be the right
>>> location (?), but CF is picking up TZDIR from tzfile.h which says:
>>> 
>>> #define TZDIR   "/var/db/timezone/zoneinfo"
>>> 
>>> Any thoughts?  I feel like I'm missing something obvious and have gone
>>> too far down the rabbit hole.
>>> 
>>> --
>>> Ian Partridge
>>> _______________________________________________
>>> swift-corelibs-dev mailing list
>>> swift-corelibs-dev@swift.org
>>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
>> 
> 
> 
> 
> -- 
> Ian Partridge
> _______________________________________________
> swift-corelibs-dev mailing list
> swift-corelibs-dev@swift.org <mailto:swift-corelibs-dev@swift.org>
> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev 
> <https://lists.swift.org/mailman/listinfo/swift-corelibs-dev>
_______________________________________________
swift-corelibs-dev mailing list
swift-corelibs-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-corelibs-dev

Reply via email to