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

Rebuild for libabseil 20240116, libgrp 1.61, libprotobuf 4.25.2 #203

Conversation

regro-cf-autotick-bot
Copy link
Contributor

This PR has been triggered in an effort to update libabseil20240116_libgrpc161_libprotobuf4252.

Notes and instructions for merging this PR:

  1. Please merge the PR only after the tests have passed.
  2. Feel free to push to the bot's branch to update this PR if needed.

Please note that if you close this PR we presume that the feedstock has been rebuilt, so if you are going to perform the rebuild yourself don't close this PR until the your rebuild has been merged.


If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/cf-scripts/actions/runs/8132857591, please use this URL for debugging.

@conda-forge-webservices
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@traversaro traversaro closed this Mar 3, 2024
@conda-forge conda-forge locked and limited conversation to collaborators Mar 3, 2024
@conda-forge conda-forge unlocked this conversation Mar 3, 2024
@traversaro traversaro reopened this Mar 3, 2024
@traversaro
Copy link
Contributor

@conda-forge-admin, please rerender

@traversaro
Copy link
Contributor

@conda-forge-admin, please rerender

@Tobias-Fischer
Copy link
Contributor

We should be using the proper approach to pull in cos7: https://conda-forge.org/docs/maintainer/knowledge_base/#using-centos-7

@traversaro
Copy link
Contributor

@conda-forge-admin, please rerender

@h-vetinari
Copy link
Member

We should be using the proper approach to pull in cos7: https://conda-forge.org/docs/maintainer/knowledge_base/#using-centos-7

You already get the cos7 image without doing anything. If you need newer glibc, then you need sysroot_linux-64 2.17 # [linux64] in build:.

conda-forge.yml Outdated
# Workaround for https://github.com/conda/conda-libmamba-solver/issues/446
conda_build_tool: conda-build+classic
conda_build_tool: mambabuild
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I recommend to delete that line entirely.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But then we run into conda/conda-libmamba-solver#446

@Tobias-Fischer
Copy link
Contributor

We should be using the proper approach to pull in cos7: https://conda-forge.org/docs/maintainer/knowledge_base/#using-centos-7

You already get the cos7 image without doing anything. If you need newer glibc, then you need sysroot_linux-64 2.17 # [linux64] in build:.

I don’t think so. By default we still have a pin on cdt_name:cos6, see e.g. the recently created feedstock at https://github.com/conda-forge/open3d-feedstock/ which failed after creation because of cos6 (after passing CI on staged-recipes). I’ve seen this quite a few times before.

@h-vetinari
Copy link
Member

I don’t think so.

You're already on cos7 (as everyone else):

DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64

The only cos6 remnant is the sysroot (glibc, kernel headers, etc.). I haven't checked what problems you've had in open3d, but - at the very least here - it's not (or only seemingly) related to cos7.

@Tobias-Fischer
Copy link
Contributor

If you check the very first CI run after rerendering the open3d feedstock for the first time, you will see that it failed because it tried to use the cos6 CDTs, that conflict with sysroot_linux-64 2.17 # [linux64] in the build reqs: https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=887445&view=logs&jobId=d0d954b5-f111-5dc4-4d76-03b6c9d0cf7e&j=d0d954b5-f111-5dc4-4d76-03b6c9d0cf7e&t=6d4b912b-175d-51da-0fd9-4d30fe1eb4e7

Then adding os_version: linux_64: cos7 (conda-forge/open3d-feedstock@55282db) and rerendering (conda-forge/open3d-feedstock@9a5a5bc) changed the cdt_name to cos7 and the Linux builds succeeded: https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=887994&view=logs&jobId=d0d954b5-f111-5dc4-4d76-03b6c9d0cf7e (see conda-forge/open3d-feedstock#1)

@traversaro
Copy link
Contributor

Ok, I am a bit confused how cos7 is related to this PR. Anyhow, just to recap we can't use mambabuild because we can't install both boa and mamba create -n testgazclas boa 'conda-build>=24.1':

traversaro@IITBMP014LW012:~$ mamba create -n testgazclas boa 'conda-build>=24.1'

Looking for: ['boa', "conda-build[version='>=24.1']"]

conda-forge/linux-64                                        Using cache
conda-forge/noarch                                          Using cache
Could not solve for environment specs
The following packages are incompatible
├─ boa is installable with the potential options
│  ├─ boa [0.1.0|0.1.2|...|0.3.0] would require
│  │  └─ conda-build 3.20.* , which can be installed;
│  ├─ boa [0.10.0|0.11.0|...|0.9.0] would require
│  │  └─ conda-build >=3.20,<3.22 , which can be installed;
│  ├─ boa [0.11.0|0.12.0|0.13.0] would require
│  │  └─ conda-build >=3.20,<3.23 , which can be installed;
│  ├─ boa [0.13.0|0.14.0] would require
│  │  └─ conda-build >=3.20,<3.24 , which can be installed;
│  ├─ boa 0.14.0 would require
│  │  └─ conda-build >=3.24,<3.25 , which can be installed;
│  ├─ boa 0.15.1 would require
│  │  └─ conda-build >=3.24,<3.26 , which can be installed;
│  └─ boa 0.16.0 would require
│     └─ conda-build >=3.24,<24.1.0a0 , which can be installed;
└─ conda-build >=24.1  is not installable because it conflicts with any installable versions previously reported.

@traversaro
Copy link
Contributor

traversaro commented Mar 6, 2024

So, let's recap a little:

2024-03-04T23:10:05.5761076Z Preparing transaction: ...working... done
2024-03-04T23:10:17.6956448Z Verifying transaction: ...working... done
2024-03-04T23:10:24.2795549Z Executing transaction: ...working... 
2024-03-04T23:10:24.9129750Z 
2024-03-04T23:10:27.9064652Z done
2024-03-04T23:10:46.8410445Z Collecting package metadata (repodata.json): ...working... done
2024-03-04T23:11:46.1030955Z Solving environment: ...working... done
2024-03-04T23:12:04.8651458Z Collecting package metadata (repodata.json): ...working... done
2024-03-04T23:13:46.3860816Z Solving environment: ...working... failed
2024-03-04T23:13:46.4103334Z 
2024-03-04T23:13:46.4104731Z # >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<
2024-03-04T23:13:46.4105335Z 
2024-03-04T23:13:46.4105780Z     Traceback (most recent call last):
2024-03-04T23:13:46.4106592Z       File "/opt/conda/lib/python3.10/site-packages/conda/exception_handler.py", line 17, in __call__
2024-03-04T23:13:46.4107059Z         return func(*args, **kwargs)
2024-03-04T23:13:46.4107625Z       File "/opt/conda/lib/python3.10/site-packages/conda/cli/main.py", line 83, in main_subshell
2024-03-04T23:13:46.4108072Z         exit_code = do_call(args, parser)
2024-03-04T23:13:46.4108656Z       File "/opt/conda/lib/python3.10/site-packages/conda/cli/conda_argparse.py", line 172, in do_call
2024-03-04T23:13:46.4109121Z         result = plugin_subcommand.action(getattr(args, "_args", args))
2024-03-04T23:13:46.4109714Z       File "/opt/conda/lib/python3.10/site-packages/conda_build/plugin.py", line 14, in build
2024-03-04T23:13:46.4110162Z         return execute(args)
2024-03-04T23:13:46.4110720Z       File "/opt/conda/lib/python3.10/site-packages/conda_build/cli/main_build.py", line 581, in execute
2024-03-04T23:13:46.4111162Z         api.build(
2024-03-04T23:13:46.4111702Z       File "/opt/conda/lib/python3.10/site-packages/conda_build/api.py", line 255, in build
2024-03-04T23:13:46.4112118Z         return build_tree(
2024-03-04T23:13:46.4112688Z       File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 3782, in build_tree
2024-03-04T23:13:46.4113115Z         packages_from_this = build(
2024-03-04T23:13:46.4113691Z       File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2557, in build
2024-03-04T23:13:46.4114147Z         create_build_envs(top_level_pkg, notest)
2024-03-04T23:13:46.4114743Z       File "/opt/conda/lib/python3.10/site-packages/conda_build/build.py", line 2364, in create_build_envs
2024-03-04T23:13:46.4115204Z         environ.get_package_records(
2024-03-04T23:13:46.4115772Z       File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 926, in get_package_records
2024-03-04T23:13:46.4116305Z         actions = _install_actions(prefix, index, specs)
2024-03-04T23:13:46.4116910Z       File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1375, in install_actions
2024-03-04T23:13:46.4117382Z         txn = solver.solve_for_transaction(prune=False, ignore_pinned=False)
2024-03-04T23:13:46.4118007Z       File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 148, in solve_for_transaction
2024-03-04T23:13:46.4118797Z         unlink_precs, link_precs = self.solve_for_diff(
2024-03-04T23:13:46.4119377Z       File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 217, in solve_for_diff
2024-03-04T23:13:46.4119948Z         final_precs = self.solve_final_state(
2024-03-04T23:13:46.4120589Z       File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 384, in solve_final_state
2024-03-04T23:13:46.4121025Z         ssc = self._add_specs(ssc)
2024-03-04T23:13:46.4121591Z       File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 887, in _add_specs
2024-03-04T23:13:46.4122035Z         conflicts = ssc.r.get_conflicting_specs(
2024-03-04T23:13:46.4122628Z       File "/opt/conda/lib/python3.10/site-packages/conda/resolve.py", line 1266, in get_conflicting_specs
2024-03-04T23:13:46.4123077Z         C = r2.gen_clauses()
2024-03-04T23:13:46.4123624Z       File "/opt/conda/lib/python3.10/site-packages/conda/common/io.py", line 85, in decorated
2024-03-04T23:13:46.4124070Z         return f(*args, **kwds)
2024-03-04T23:13:46.4124622Z       File "/opt/conda/lib/python3.10/site-packages/conda/resolve.py", line 1051, in gen_clauses
2024-03-04T23:13:46.4125056Z         for ms in self.ms_depends(prec):
2024-03-04T23:13:46.4125623Z       File "/opt/conda/lib/python3.10/site-packages/conda/resolve.py", line 925, in ms_depends
2024-03-04T23:13:46.4126267Z         deps = [MatchSpec(d) for d in prec.combined_depends]
2024-03-04T23:13:46.4126893Z       File "/opt/conda/lib/python3.10/site-packages/conda/models/records.py", line 363, in combined_depends
2024-03-04T23:13:46.4127794Z         result = {ms.name: ms for ms in MatchSpec.merge(self.depends)}
2024-03-04T23:13:46.4129239Z       File "/opt/conda/lib/python3.10/site-packages/conda/models/match_spec.py", line 491, in merge
2024-03-04T23:13:46.4129624Z         reduce(lambda x, y: x._merge(y, union), group)
2024-03-04T23:13:46.4130134Z       File "/opt/conda/lib/python3.10/site-packages/conda/models/match_spec.py", line 491, in <lambda>
2024-03-04T23:13:46.4130503Z         reduce(lambda x, y: x._merge(y, union), group)
2024-03-04T23:13:46.4131010Z       File "/opt/conda/lib/python3.10/site-packages/conda/models/match_spec.py", line 523, in _merge
2024-03-04T23:13:46.4131386Z         final = this_component.merge(that_component)
2024-03-04T23:13:46.4131867Z       File "/opt/conda/lib/python3.10/site-packages/conda/models/match_spec.py", line 815, in merge
2024-03-04T23:13:46.4132218Z         raise ValueError(
2024-03-04T23:13:46.4132505Z     ValueError: Incompatible component merge:
2024-03-04T23:13:46.4132841Z       - '*mpich*'
2024-03-04T23:13:46.4133178Z       - 'mpi_mpich_*'
2024-03-04T23:13:46.4133369Z 

@traversaro
Copy link
Contributor

As to be honest I am not knowledgeable enough to attack any of those three issues, one possible option is to get rid of the "ogre >=1.10.12[build_number=3]" constraint, added in #188 . However, that is quite a pity, as that was added to solve a constant source of pain, that was the fact that during migrations an old build (without features required by gazebo) ogre 1.10.12 was installed. Removing it, would mean starting to get again regressions such as:

Brainstorming possible solutions, we could:

  • Do a fake ogre 1.10.13 release, that would be just 1.10.12 + recent builds, but ogre>=1.10.13,<... would be an easier constraint for solvers
  • Mark ogre==1.10.12=*_0, ogre==1.10.12=*_ and ogre==1.10.12=*_2 as broken. However those builds technically are not broken, they just miss runtime features required by Gazebo, so it would be borderline to mark them as broken.

I can't find a solution satisfying all the constraints. I will sleep on this.

@h-vetinari
Copy link
Member

Do a fake ogre 1.10.13 release, that would be just 1.10.12 + recent builds, but ogre>=1.10.13,<... would be an easier constraint for solvers

The build number constraint is definitely problematic, so if we can avoid that with an upstream ogre release, that would be best. If you're talking about a conda-forge-only fake release, then I'd make sure not to take unreleased version numbers (so don't use 1.10.13). But releasing 1.10.12.1 might work, which should allow you to do ogre >1.10.12.0 here.

@traversaro
Copy link
Contributor

traversaro commented Mar 6, 2024

Do a fake ogre 1.10.13 release, that would be just 1.10.12 + recent builds, but ogre>=1.10.13,<... would be an easier constraint for solvers

The build number constraint is definitely problematic, so if we can avoid that with an upstream ogre release, that would be best. If you're talking about a conda-forge-only fake release, then I'd make sure not to take unreleased version numbers (so don't use 1.10.13). But releasing 1.10.12.1 might work, which should allow you to do ogre >1.10.12.0 here.

Good point, 1.10.12.1 is definitely a better alternative. And yes, I was talking about fake conda-forge releases, I have no control on upstream ogre releases, and I think the 1.10 branch of ogre is quite dead (I can't wait to eventually migrate from Gazebo to gz-sim and get rid of this : ) ).

@traversaro
Copy link
Contributor

Ok, the night has passed. I like the proposal of ogre 1.10.12.1, let's proceed.

@traversaro
Copy link
Contributor

@conda-forge-admin, please rerender

@Tobias-Fischer Tobias-Fischer added the automerge Merge the PR when CI passes label Mar 7, 2024
@github-actions github-actions bot merged commit 3762a2c into conda-forge:main Mar 8, 2024
7 checks passed
Copy link
Contributor

github-actions bot commented Mar 8, 2024

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

  • linter: passed
  • azure: passed

Thus the PR was passing and merged! Have a great day!

@regro-cf-autotick-bot regro-cf-autotick-bot deleted the rebuild-libabseil20240116_libgrpc161_libprotobuf4252-0-1_h8edd6a branch March 8, 2024 02:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge Merge the PR when CI passes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants