https://issues.dlang.org/show_bug.cgi?id=20847
Issue ID: 20847 Summary: confusing compiler error message when compiling PosixTimeZone.getTimeZone Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: min...@gmail.com $ cat t.d import std.datetime.timezone; class T { const string NEW_YORK_TIMEZONE = "America/New_York"; public static const auto _timeZoneInfo = PosixTimeZone.getTimeZone(NEW_YORK_TIMEZONE); } $ dmd -c t.d # on Linux /usr/include/dmd/phobos/std/file.d(1972): Error: lstat64 cannot be interpreted at compile time, because it has no available source code # not sure what it is about, e.g. which file it's looking for? # on Windows $ dmd.exe -c t.d C:\project\dmd2\windows\bin64\..\..\src\phobos\std\file.d(1947): Error: GetFileAttributesW cannot be interpreted at compile time, because it has no available source code # LDC on Linux $ ldc2 -c t.d /home/zhou/project/ldc2-1.20.0-linux-x86_64/bin/../import/std/file.d(1962): Error: lstat64 cannot be interpreted at compile time, because it has no available source code # GDC on Linux: $ gdc-10 -c t.d /usr/lib/gcc/x86_64-linux-gnu/10/include/d/std/file.d:1565:21: error: lstat64 cannot be interpreted at compile time, because it has no available source code 1565 | return lstat(namez, &statbuf) == 0; | ^ /usr/lib/gcc/x86_64-linux-gnu/10/include/d/std/file.d:1524:22: note: called from here: existsImpl(((Res __tmpfordtor2620 = tempCString(name);) , __tmpfordtor2620).ptr()) 1524 | return existsImpl(name.tempCString!FSChar()); | ^ /usr/lib/gcc/x86_64-linux-gnu/10/include/d/std/datetime/timezone.d:1957:37: note: called from here: exists(tzDatabaseDir) 1957 | enforce(tzDatabaseDir.exists(), new DateTimeException(format("Directory %s does not exist.", tzDatabaseDir))); | ^ /usr/lib/gcc/x86_64-linux-gnu/10/include/d/std/datetime/timezone.d:1957:16: note: called from here: enforce(exists(tzDatabaseDir), delegate Throwable() => new TimeException(format("Directory %s does not exist.", tzDatabaseDir), "/usr/lib/gcc/x86_64-linux-gnu/10/include/d/std/datetime/timezone.d", 1957LU, null)) 1957 | enforce(tzDatabaseDir.exists(), new DateTimeException(format("Directory %s does not exist.", tzDatabaseDir))); | ^ t.d:5:69: note: called from here: getTimeZone(NEW_YORK_TIMEZONE, "/usr/share/zoneinfo/") 5 | public static const auto _timeZoneInfo = PosixTimeZone.getTimeZone(NEW_YORK_TIMEZONE); | ^ --