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

tests/test_api_build.py::test_sysroots_detection failure #5475

Closed
kenodegard opened this issue Sep 3, 2024 · 9 comments · Fixed by #5471
Closed

tests/test_api_build.py::test_sysroots_detection failure #5475

kenodegard opened this issue Sep 3, 2024 · 9 comments · Fixed by #5471
Assignees
Labels
¡blocking! used to indicate a blocker for a pending release in-progress issue is actively being worked on severity::1 blocker; broken functionality with no workaround source::anaconda created by members of Anaconda, Inc. type::bug describes erroneous operation, use severity::* to classify the type type::testing issues about tests or the test infrastructure

Comments

@kenodegard
Copy link
Contributor

kenodegard commented Sep 3, 2024

tests/test_api_build.py::test_sysroots_detection implemented here is now failing on main, see https://github.com/conda/conda-build/actions/runs/10671805383/job/29578195906

Originally posted by @kenodegard in #5404 (comment)

@kenodegard kenodegard added source::anaconda created by members of Anaconda, Inc. ¡blocking! used to indicate a blocker for a pending release severity::1 blocker; broken functionality with no workaround in-progress issue is actively being worked on type::testing issues about tests or the test infrastructure type::bug describes erroneous operation, use severity::* to classify the type labels Sep 3, 2024
@github-project-automation github-project-automation bot moved this to 🆕 New in 🧭 Planning Sep 3, 2024
@kenodegard
Copy link
Contributor Author

Is this caused by conda-forge/ctng-compilers-feedstock#148?

cc @h-vetinari @isuruf

@kenodegard kenodegard moved this from 🆕 New to 🏗️ In Progress in 🧭 Planning Sep 3, 2024
@isuruf
Copy link
Contributor

isuruf commented Sep 3, 2024

Is this caused by conda-forge/ctng-compilers-feedstock#148?

Yes, the solution was to add an empty host section

@kenodegard
Copy link
Contributor Author

Is this caused by conda-forge/ctng-compilers-feedstock#148?

Yes, the solution was to add an empty host section

Already attempted to do that and it doesn't resolve the failure (see #5476)

I've gotten the tests to pass again by adding ignore_run_exports_from (see #5471) inspired by changes done to other conda-forge recipes (conda-forge/ctng-compilers-feedstock#148 (comment))

@isuruf
Copy link
Contributor

isuruf commented Sep 3, 2024

Oh we have

if subdir.startswith("linux"):
ignore_list.append("libgcc-ng")
. We can just add libgcc too

@kenodegard kenodegard self-assigned this Sep 3, 2024
@kenodegard
Copy link
Contributor Author

Wouldn't it be more appropriate to add a selector to conda-forge::libgcc's run_exports instead of adding more hardcoded conditions into conda-build?

@isuruf
Copy link
Contributor

isuruf commented Sep 3, 2024

Wouldn't it be more appropriate to add a selector to conda-forge::libgcc's run_exports instead of adding more hardcoded conditions into conda-build?

What do you mean? Can you explain more about the selectors?

@kenodegard
Copy link
Contributor Author

Can't we just do something like the following in https://github.com/conda-forge/ctng-compilers-feedstock:

outputs:
  - name: gcc_impl_{{ cross_target_platform }}
    run_exports:                      # [not linux]
      strong:                         # [not linux]
        - libgcc >={{ gcc_version }}  # [not linux]

@isuruf
Copy link
Contributor

isuruf commented Sep 3, 2024

That's not the issue. The C compiler adds a libgcc (it was libgcc-ng before) dependency to all packages that were compiled with the compiler, but libgcc_s.so is not always needed for a program compiled with the C compile gcc. The overlinking check however complaints when a conda package with a DSO like libgcc_s.so is added to run due to a run_exports, but is unused.

@kenodegard
Copy link
Contributor Author

oops, I was checking stuff on the wrong platform

gotcha, we want the overlinking/overdepending checks to be run on a subset of run_exports, and this cannot be achieved in the upstream package, so either every downstream package defines their own ignore_run_exports_from or we make your suggested change in conda-build

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
¡blocking! used to indicate a blocker for a pending release in-progress issue is actively being worked on severity::1 blocker; broken functionality with no workaround source::anaconda created by members of Anaconda, Inc. type::bug describes erroneous operation, use severity::* to classify the type type::testing issues about tests or the test infrastructure
Projects
Archived in project
2 participants