It looks like it's /usr/share/zoneinfo on all Ubuntu versions:

alblue.local[~]$ docker run -it --rm ubuntu:14.04 find /usr -name zone.tab
/usr/share/zoneinfo/zone.tab
alblue.local[~]$ docker run -it --rm ubuntu:16.04 find /usr -name zone.tab
/usr/share/zoneinfo/zone.tab
alblue.local[~]$ docker run -it --rm ubuntu:16.10 find /usr -name zone.tab
/usr/share/zoneinfo/zone.tab

This is the same that's coming from CFTimeZone.c:

https://github.com/apple/swift-corelibs-foundation/blob/2611dcd0d9b91fecace537838294bd85f0220503/CoreFoundation/NumberDate.subproj/CFTimeZone.c#L36-L39

Is it possible that the MacOS header is being included and defining TZDIR 
before the CFTimeZone.c file is compiled?

Alex

> On 6 Jul 2017, at 19:22, Tony Parker via swift-corelibs-dev 
> <swift-corelibs-dev@swift.org> wrote:
> 
> Is the path to zoneinfo different on the Ubuntu docker image?
> 
> - Tony
> 
>> On Jul 6, 2017, at 9:36 AM, Youming Lin <y...@us.ibm.com 
>> <mailto:y...@us.ibm.com>> wrote:
>> 
>> We were seeing this on Travis too. Specifically, on a Travis matrix build 
>> using Swift 3.1.1 on a Ubuntu 16.04 docker image running inside a Travis 
>> 14.04 VM.
>> 
>> The issue was specific to the Ubuntu 16.04 docker image; when I tested in 
>> Ubuntu 16.04 OS as a guest VM, the issue went away.
>> 
>> Thanks,
>> 
>> Youming Lin
>> IBM Cloud, Swift@IBM, Kitura developer
>> Austin, TX
>> GitHub: @youming-lin
>> 
>> <graycol.gif>Tony Parker via swift-corelibs-dev ---07/06/2017 10:31:15 
>> AM---Yes, we’re discussing this one internally too and trying to figure out 
>> what the right answer is. May
>> 
>> From: Tony Parker via swift-corelibs-dev <swift-corelibs-dev@swift.org 
>> <mailto:swift-corelibs-dev@swift.org>>
>> To: Ian Partridge <i...@poncho.org.uk <mailto:i...@poncho.org.uk>>
>> Cc: swift-corelibs-dev <swift-corelibs-dev@swift.org 
>> <mailto:swift-corelibs-dev@swift.org>>
>> Date: 07/06/2017 10:31 AM
>> Subject: Re: [swift-corelibs-dev] TimeZone database
>> Sent by: swift-corelibs-dev-boun...@swift.org 
>> <mailto:swift-corelibs-dev-boun...@swift.org>
>> 
>> 
>> 
>> 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 <mailto: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 <mailto: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 <mailto:swift-corelibs-dev@swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev 
>> <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 <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

_______________________________________________
swift-corelibs-dev mailing list
swift-corelibs-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-corelibs-dev

Reply via email to