Skip to content

Windows x86 build fails in Conan ANTLR runtime (missing <chrono> include) #5590

@kbenne

Description

@kbenne

Description

Windows 32-bit builds fail while Conan builds antlr4-cppruntime/4.13.1 from source. This is a dependency failure in ANTLR, not OpenStudio sources.

Failure details

  • Occurs in Conan cache build: antlr4_static.vcxproj
  • Errors in runtime/src/atn/ProfilingATNSimulator.cpp:
    • error C2653: 'high_resolution_clock': is not a class or namespace name
    • error C3861: 'now': identifier not found
  • Only on x86; x64 builds succeed.

Root cause
ProfilingATNSimulator.cpp uses std::chrono::high_resolution_clock but does not include <chrono>. On MSVC x86, <chrono> is not pulled in transitively, so std::chrono is undefined.

Workaround / Fix options

  • Patch ANTLR runtime to #include <chrono> in ProfilingATNSimulator.cpp (or antlr4-common.h) for x86.
  • Alternatively downgrade/upgrade antlr4-cppruntime to a version that fixes this.
  • Long term: create a local Conan recipe patch if we need to keep 4.13.1.

Current Behavior

32 bit windows builds fail

Expected Behavior

32 bit windows builds should not fail

Steps to reproduce

Try to build openstudio on 32 bit windows

Possible Solution

Patch ANTLR runtime to #include in ProfilingATNSimulator.cpp (or antlr4-common.h) for x86.

Operating System affected

Windows 10, Windows 11

Environment

Version of OpenStudio

Context

No response

Metadata

Metadata

Assignees

Labels

TriageIssue needs to be assessed and labeled, further information on reported might be needed

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions