Skip to content

Conversation

@baszalmstra
Copy link
Contributor

Goes alongside prefix-dev/pixi#4824

@Hofer-Julian Hofer-Julian force-pushed the feat/upgrade-to-lock-v7 branch from e6351dd to fbaaf56 Compare October 31, 2025 13:55
@Hofer-Julian
Copy link
Contributor

The remaining problem is that out-of-tree git dependencies cannot be solved if there are multiple platforms with different variants each.

You have this e.g. when running tests/integration_python/test_specified_build_source/test_git.py::test_git_path_lock_consistent_across_platforms. pixi-build-cmake only injects the variant cxx_compiler=vs2019 on Windows. When you then try to solve you get the following error message:

Error:   × failed to write lock-file to disk
  ╰─▶ Failed to disambiguate source packages at location '.'. Multiple source packages exist but cannot be distinguished without variant information. This typically occurs when converting from lock file format V6 to V7.
      Conflicting packages:
        - simple-app
        - simple-app [variants: cxx_compiler=vs2019]

, code: 1

@baszalmstra
Copy link
Contributor Author

baszalmstra commented Oct 31, 2025

This should have been fixed by your previous PR to the backends, which we may not have released yet. That ensures that the target_platform variant is added.

@Hofer-Julian
Copy link
Contributor

Hofer-Julian commented Oct 31, 2025

This should have been fixed by your previous PR to the backends, which we may not have released yet. That ensures that the target_platform variant is added.

This shouldn't affect the testsuite as long as they are merged. Or is the PR not merged yet?

@Hofer-Julian
Copy link
Contributor

Ah, I read too quickly. You mean my PR that ensures that all variants are returned.

I will double check if that doesn't work with out-of-source git dependencies for some reason

@baszalmstra
Copy link
Contributor Author

It is, so maybe that is somehow broken?

Using your PR the target_platform should be added to the variants which disambiguates this.

@Hofer-Julian
Copy link
Contributor

It is, so maybe that is somehow broken?

Yeah, I think so.
I just tried with "normal" builds and there it works:

- conda: .
  name: simple-app
  depends:
  - vc >=14.2,<15
  - vc14_runtime >=14.29.30139
  - ucrt >=10.0.20348.0
  input:
    hash: 8d1d52341921800e7ab8a779709ab7deec64a6281480dfda121b9e6aaea71c4d
    globs: []
  variants:
    cxx_compiler: vs2019
    target_platform: win-64
- conda: .
  name: simple-app
  depends:
  - libstdcxx >=15
  - libgcc >=15
  input:
    hash: 8d1d52341921800e7ab8a779709ab7deec64a6281480dfda121b9e6aaea71c4d
    globs: []
  variants:
    target_platform: linux-64

It seems like there's a problem specifically with out-of-tree (git) builds

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants