microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS
MIT License
23.32k stars 6.45k forks source link

[xtensor] Failed to compile with no function "Store" with XSIMD enabled #41953

Open spectre-ns opened 2 weeks ago

spectre-ns commented 2 weeks ago

Operating system

Windows

Compiler

MSVC

Steps to reproduce the behavior

./vcpkg install xtensor[xsimd]:x64-windows

Failure logs

Fails to find function store in the xsimd _api.hpp file

Additional context

The issue is caused by a miss match between the xsimd and xtensor libraries. The specification for xtensor should xsimd 11 not xsimd 13.

spectre-ns commented 2 weeks ago

See here: https://github.com/xtensor-stack/xtensor?tab=readme-ov-file#dependencies

jimwang118 commented 2 weeks ago

The port in vcpkg will call the latest version. If you want to use an older version for version adaptation, you can use overlay-port to overwrite the port version.

dg0yt commented 2 weeks ago

Normally the vcpkg repo should not integrate incompatible changes. But xsimd is an optional feature in port xtensor, and not activated in vcpkg CI. In additon, vcpkg CI doesn't use versioning.

As a mitigation, you could use versioning constraints in manifest mode.

The specification for xtensor should xsimd 11 not xsimd 13.

See here: https://github.com/xtensor-stack/xtensor?tab=readme-ov-file#dependencies

IDK how to interpret ^11.0.0 but I would assume it means at least 11.0.0.

dg0yt commented 2 weeks ago

Related: https://github.com/xtensor-stack/xtensor/issues/2769