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

Always split host and build environments #4402

Open
jakirkham opened this issue Mar 24, 2022 · 4 comments
Open

Always split host and build environments #4402

jakirkham opened this issue Mar 24, 2022 · 4 comments
Labels
backlog issue has been triaged but has not been earmarked for any upcoming release source::governance created by members of the conda governance (https://github.com/conda-incubator/governance) stale::recovered [bot] recovered after being marked as stale type::feature request for a new feature or capability

Comments

@jakirkham
Copy link
Member

jakirkham commented Mar 24, 2022

Historically there was only build and run environments (particularly in conda-build 2 where it was last seen). In conda-build 3 the new host environment was added. The idea being that packagers want to separate and isolate build tools like compilers, CMake, autotools, etc. that only need to be used on the command line from libraries they want to link to in the build. This way packages don't accidentally link to libraries pulled in by build tools (like the openssl package that cmake depends on).

As this was a significant change at the time, splitting build and host only happened under certain circumstances (like when a compiler was added to build). Again this made since as many recipes still used build to mean host as host was a new thing.

However as time has passed and recipes/tooling/knowledge has evolved it is understood now that build should be reserved for build tools and recipes should use host for anything they are linking to as part of the build. Given this, it may make sense to switch to always splitting host and build as this is increasingly the safer way to build things. For an example of where not splitting these causes problems please see issue ( conda-forge/openssl-feedstock#87 ). After all packagers already have tools like merge_build_host to combine the two together if that is really intended ( though maybe we can document that key better #2890 ).

@beeankha beeankha added type::feature request for a new feature or capability source::governance created by members of the conda governance (https://github.com/conda-incubator/governance) backlog issue has been triaged but has not been earmarked for any upcoming release labels Apr 1, 2022
@jezdez
Copy link
Member

jezdez commented May 5, 2022

Let's discuss this during the community meeting and figure out what we can do about aligning the different ways how conda-forge and the Anaconda build system relies on this. This may be something that we should codify in a CEP.

@jakirkham
Copy link
Member Author

It's worth noting this is already the intended behavior. Please see PR ( #2579 ). However it doesn't seem to always be working. IOW there is likely a bug somewhere.

@github-actions
Copy link

Hi there, thank you for your contribution!

This issue has been automatically marked as stale because it has not had recent activity. It will be closed automatically if no further activity occurs.

If you would like this issue to remain open please:

  1. Verify that you can still reproduce the issue at hand
  2. Comment that the issue is still reproducible and include:
    - What OS and version you reproduced the issue on
    - What steps you followed to reproduce the issue

NOTE: If this issue was closed prematurely, please leave a comment.

Thanks!

@github-actions github-actions bot added the stale [bot] marked as stale due to inactivity label Jun 24, 2023
@jakirkham
Copy link
Member Author

(bump)

@github-actions github-actions bot added stale::recovered [bot] recovered after being marked as stale and removed stale [bot] marked as stale due to inactivity labels Jun 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog issue has been triaged but has not been earmarked for any upcoming release source::governance created by members of the conda governance (https://github.com/conda-incubator/governance) stale::recovered [bot] recovered after being marked as stale type::feature request for a new feature or capability
Projects
Status: No status
Development

No branches or pull requests

3 participants