Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MACOSX_DEPLOYMENT_TARGET does not work with c_stdlib_version set in the build of a package for MacOS #1117

Open
eunos-1128 opened this issue Oct 13, 2024 · 10 comments

Comments

@eunos-1128
Copy link

eunos-1128 commented Oct 13, 2024

I encountered an issue where the build of a package for MacOS failed because MACOSX_DEPLOYMENT_TARGET was not set to the same version, even though c_stdlib_version was set in the conda_build_config.yaml.

conda-forge recipe I used

I don't know exactly why, but is this a kind of bug?

@wolfv
Copy link
Member

wolfv commented Oct 13, 2024

Maybe @h-vetinari can comment on wether we need to set both values or if one should be enough. I am not sure!

@wolfv
Copy link
Member

wolfv commented Oct 13, 2024

I believe you need to set both. But I am verifying with @h-vetinari and others. Thanks for testing!

@h-vetinari
Copy link

No, it should be enough to set just c_stdlib_version. We have logic in smithy that will still populate both values in the variant config though, because the CI setup still relies on MACOSX_DEPLOYMENT_TARGET.

We did update the logic in staged-recipes as well (which isn't using the general ci setup), I'd have to take a look what goes wrong there

@h-vetinari
Copy link

Did you open a PR for this already? I cannot find it on https://github.com/conda-forge/staged-recipes. It's possible that local builds are missing the logic I mentioned, but it should definitely be there for the actual CI runs.

@eunos-1128
Copy link
Author

I've had opened conda-forge/staged-recipes#27710, but changed to conda-build instead of rattler-build due to this error.

@wolfv
Copy link
Member

wolfv commented Oct 14, 2024

I think I understand what happens:

  • staged-recipes detects the conda_build_config.yaml fine, and writes the additional deployment target key by appending to the conda_build_config.yaml file.
  • rattler-build does not automatically use the conda_build_config.yaml file though, so it's not picked up.

rattler-build would automatically use the variants.yaml but then we run into additional problems by having to support two formats.

@eunos-1128
Copy link
Author

eunos-1128 commented Oct 14, 2024

Even when I used variants.yaml instead of conda_build_config.yaml, it didn't work.

@wolfv
Copy link
Member

wolfv commented Oct 14, 2024

Yes, with variants.yaml the problem is that in staged-recipes the automation only looks at conda_build_config.yaml so it will never "magically" add the MACOS_DEPLOYMENT_TARGET...

@eunos-1128
Copy link
Author

I see.

No, it should be enough to set just c_stdlib_version. We have logic in smithy that will still populate both values in the variant config though, because the CI setup still relies on MACOSX_DEPLOYMENT_TARGET.

We did update the logic in staged-recipes as well (which isn't using the general ci setup), I'd have to take a look what goes wrong there

This means the problem ie fixed now?

@wolfv
Copy link
Member

wolfv commented Oct 14, 2024

It's not fixed yet. We either need to support variants.yaml in conda-forge, or we need to support conda_build_config.yaml in rattler-build. :)

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

No branches or pull requests

3 participants