Skip to content

C++ fails to link with the latest windows-2022 image #9398

@G-D-Petrov

Description

@G-D-Petrov

Description

After upgrading to the latest window-2022 image(20240218.2.0), we have experienced a regressing in our CI.
The builds are now failing to link against the C++ STL that is part of VS2022, specifically when looking for external symbol _Thrd_sleep_for.
It seems that the symbol that is missing was added to the microsoft STL in october and later removed.

This problem was not present on the previous windows-2022 image that we used(20240211.1.0) which used the previous version of Visual Studio.

Platforms affected

  • Azure DevOps
  • GitHub Actions - Standard Runners
  • GitHub Actions - Larger Runners

Runner images affected

  • Ubuntu 20.04
  • Ubuntu 22.04
  • macOS 11
  • macOS 12
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • Windows Server 2019
  • Windows Server 2022

Image version and build link

Version: 20240218.2.0
Build link: https://github.com/man-group/ArcticDB/actions/runs/8013580338/job/21890848652

Is it regression?

yes, this worked on version 20240211.1.0, link - https://github.com/man-group/ArcticDB/actions/runs/7975239466/job/21772986969

Expected behavior

The linking against the C++ STL should be successful.

Actual behavior

It is failing to link against external symbol _Thrd_sleep_for:

Creating library arcticdb\arcticdb_ext.lib and object arcticdb\arcticdb_ext.exp
aws-cpp-sdk-core.lib(ub_core.cpp.obj) : error LNK2001: unresolved external symbol _Thrd_sleep_for
folly.lib(GuardPageAllocator.cpp.obj) : error LNK2001: unresolved external symbol _Thrd_sleep_for
folly.lib(DistributedMutex.cpp.obj) : error LNK2001: unresolved external symbol _Thrd_sleep_for
azure-storage-blobs.lib(blob_responses.cpp.obj) : error LNK2001: unresolved external symbol _Thrd_sleep_for
azure-core.lib(retry_policy.cpp.obj) : error LNK2001: unresolved external symbol _Thrd_sleep_for
folly.lib(Request.cpp.obj) : error LNK2001: unresolved external symbol _Thrd_sleep_for
folly.lib(CPUThreadPoolExecutor.cpp.obj) : error LNK2001: unresolved external symbol _Thrd_sleep_for
folly.lib(Hazptr.cpp.obj) : error LNK2001: unresolved external symbol _Thrd_sleep_for
folly.lib(ThreadLocalDetail.cpp.obj) : error LNK2001: unresolved external symbol _Thrd_sleep_for
arcticdb\arcticdb_ext.cp39-win_amd64.pyd : fatal error LNK1120: 1 unresolved externals

Repro steps

  1. Start a build on https://github.com/man-group/ArcticDB/actions/workflows/build.yml

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions