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

Add packages: libscenario scenariopy scenario gym-ignition #16582

Closed

Conversation

diegoferigo
Copy link
Contributor

@diegoferigo diegoferigo commented Oct 19, 2021

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

@conda-forge-linter
Copy link

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 (recipes/gym-ignition) and found it was in an excellent condition.

@diegoferigo
Copy link
Contributor Author

I'm getting the following errors, @traversaro do you have some idea about the root of the DSO failing checks?

Two questions, should I list other libignition* dependencies in the run section of this package? Should they be part of the run_exports of libignition-gazebo so that they are added automatically?

error
   INFO: sysroot: '/home/conda/staged-recipes/build_artifacts/gym-ignition-split_1634653822177/_build_env/x86_64-conda-linux-gnu/sysroot/' files: '['/home/conda/staged-recipes/build_artifacts/gym-ignition-split_1634653822177/_build_env/x86_64-conda-linux-gnu/sysroot/usr/share/zoneinfo/zone.tab', '/home/conda/staged-recipes/build_artifacts/gym-ignition-split_1634653822177/_build_env/x86_64-conda-linux-gnu/sysroot/usr/share/zoneinfo/tzdata.zi', '/home/conda/staged-recipes/build_artifacts/gym-ignition-split_1634653822177/_build_env/x86_64-conda-linux-gnu/sysroot/usr/share/zoneinfo/right/Zulu', '/home/conda/staged-recipes/build_artifacts/gym-ignition-split_1634653822177/_build_env/x86_64-conda-linux-gnu/sysroot/usr/share/zoneinfo/right/WET']'
   INFO (libscenario,lib64/libCoreUtils.so): Needed DSO lib/libstdc++.so.6 found in conda-forge::libstdcxx-ng-11.2.0-he4da1e4_11
   INFO (libscenario,lib64/libCoreUtils.so): Needed DSO lib/libgcc_s.so.1 found in conda-forge::libgcc-ng-11.2.0-h1d223b6_11
   INFO (libscenario,lib64/libCoreUtils.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libc.so.6 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_14
  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): Needed DSO lib/libsdformat12.so.12 found in ['libsdformat12']
  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): .. but ['libsdformat12'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)
  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): Needed DSO lib/libignition-math6.so.6 found in ['libignition-math6']
  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): .. but ['libignition-math6'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)
  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): Needed DSO lib/libprotobuf.so.29 found in ['libprotobuf']
  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): .. but ['libprotobuf'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)
   INFO (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): Needed DSO lib/libstdc++.so.6 found in conda-forge::libstdcxx-ng-11.2.0-he4da1e4_11
   INFO (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libm.so.6 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_14
   INFO (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): Needed DSO lib/libgcc_s.so.1 found in conda-forge::libgcc-ng-11.2.0-h1d223b6_11
   INFO (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libc.so.6 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_14
   INFO (libscenario,lib64/scenario/plugins/libJointController.so): lib64/libScenarioGazebo.so found in this package
   INFO (libscenario,lib64/scenario/plugins/libJointController.so): Needed DSO lib/libignition-gazebo6.so.6 found in conda-forge::libignition-gazebo6-6.0.0-h18f0bbf_1
  ERROR (libscenario,lib64/scenario/plugins/libJointController.so): Needed DSO lib/libignition-common4.so.4 found in ['libignition-common4']
  ERROR (libscenario,lib64/scenario/plugins/libJointController.so): .. but ['libignition-common4'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)
  ERROR (libscenario,lib64/scenario/plugins/libJointController.so): Needed DSO lib/libignition-msgs8.so.8 found in ['libignition-msgs8']
  ERROR (libscenario,lib64/scenario/plugins/libJointController.so): .. but ['libignition-msgs8'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)
  ERROR (libscenario,lib64/scenario/plugins/libJointController.so): Needed DSO lib/libignition-math6.so.6 found in ['libignition-math6']
  ERROR (libscenario,lib64/scenario/plugins/libJointController.so): .. but ['libignition-math6'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)
  ERROR (libscenario,lib64/scenario/plugins/libJointController.so): Needed DSO lib/libprotobuf.so.29 found in ['libprotobuf']
  ERROR (libscenario,lib64/scenario/plugins/libJointController.so): .. but ['libprotobuf'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)
   INFO (libscenario,lib64/scenario/plugins/libJointController.so): Needed DSO lib/libstdc++.so.6 found in conda-forge::libstdcxx-ng-11.2.0-he4da1e4_11
   INFO (libscenario,lib64/scenario/plugins/libJointController.so): Needed DSO lib/libgcc_s.so.1 found in conda-forge::libgcc-ng-11.2.0-h1d223b6_11
   INFO (libscenario,lib64/scenario/plugins/libJointController.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libc.so.6 found in CDT/compiler package conda-forge::sysroot_linux-64-2.12-he073ed8_14
Traceback (most recent call last):
  File "/home/conda/staged-recipes-copy/.ci_support/build_all.py", line 198, in <module>
    build_all(os.path.join(root_dir, "recipes"), args.arch)
  File "/home/conda/staged-recipes-copy/.ci_support/build_all.py", line 101, in build_all
    build_folders(recipes_dir, folders, arch, channel_urls)
  File "/home/conda/staged-recipes-copy/.ci_support/build_all.py", line 157, in build_folders
    conda_build.api.build([recipe], config=get_config(arch, channel_urls))
  File "/opt/conda/lib/python3.8/site-packages/conda_build/api.py", line 186, in build
    return build_tree(
  File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 3068, in build_tree
    packages_from_this = build(metadata, stats,
  File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 2351, in build
    newly_built_packages = bundlers[pkg_type](output_d, m, env, stats)
  File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 1644, in bundle_conda
    files = post_process_files(metadata, initial_files)
  File "/opt/conda/lib/python3.8/site-packages/conda_build/build.py", line 1490, in post_process_files
    post_build(m, new_files, build_python=python)
  File "/opt/conda/lib/python3.8/site-packages/conda_build/post.py", line 1317, in post_build
    check_overlinking(m, files, host_prefix)
  File "/opt/conda/lib/python3.8/site-packages/conda_build/post.py", line 1223, in check_overlinking
    return check_overlinking_impl(m.get_value('package/name'),
  File "/opt/conda/lib/python3.8/site-packages/conda_build/post.py", line 1206, in check_overlinking_impl
    raise OverLinkingError(overlinking_errors)
conda_build.exceptions.OverLinkingError: overlinking check failed 
["  ERROR (libscenario,lib64/libGazeboSimulator.so): .. but ['libignition-fuel-tools7'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/libGazeboSimulator.so): .. but ['libignition-common4'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/libGazeboSimulator.so): .. but ['libignition-transport11'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/libGazeboSimulator.so): .. but ['libignition-msgs8'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/libGazeboSimulator.so): .. but ['libsdformat12'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/libGazeboSimulator.so): .. but ['libignition-math6'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/libGazeboSimulator.so): .. but ['libprotobuf'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libControllerRunner.so): .. but ['libignition-common4'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libControllerRunner.so): .. but ['libsdformat12'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libControllerRunner.so): .. but ['libignition-math6'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/libScenarioGazebo.so): .. but ['libignition-fuel-tools7'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/libScenarioGazebo.so): .. but ['libignition-common4'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/libScenarioGazebo.so): .. but ['libignition-common4'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/libScenarioGazebo.so): .. but ['libignition-common4'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/libScenarioGazebo.so): .. but ['libignition-msgs8'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/libScenarioGazebo.so): .. but ['libsdformat12'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/libScenarioGazebo.so): .. but ['libprotobuf'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/libScenarioGazebo.so): .. but ['libignition-math6'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): .. but ['libignition-physics5'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): .. but ['libignition-common4'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): .. but ['libignition-common4'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): .. but ['libignition-plugin1'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): .. but ['libignition-plugin1'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): .. but ['libignition-msgs8'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): .. but ['libsdformat12'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): .. but ['libignition-math6'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libPhysicsSystem.so): .. but ['libprotobuf'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libJointController.so): .. but ['libignition-common4'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libJointController.so): .. but ['libignition-msgs8'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libJointController.so): .. but ['libignition-math6'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)", "  ERROR (libscenario,lib64/scenario/plugins/libJointController.so): .. but ['libprotobuf'] not in reqs/run, (i.e. it is overlinking) (likely) or a missing dependency (less likely)"]
##[error]Bash exited with code '1'.
Finishing: Run docker build

@traversaro
Copy link
Contributor

I guess adding all the required ignition libraries as host dependencies is probably. If they are PUBLIC dependencies of CMake targets if ign-gazebo6 indeed it could make sense to also have them as run_exports of libignition-gazebo6 itself, but I would need to think a bit more about this.

@diegoferigo
Copy link
Contributor Author

I guess adding all the required ignition libraries as host dependencies is probably. If they are PUBLIC dependencies of CMake targets if ign-gazebo6 indeed it could make sense to also have them as run_exports of libignition-gazebo6 itself, but I would need to think a bit more about this.

Exporting manually the dependencies fixed the problem (ff2ce4e).

Just checking since it's not 100% clear, we do not build different ignition gazebo versions against multiple protobuf versions right? If I understood how it works, the default protobuf pinning should be this one right?

@traversaro
Copy link
Contributor

Just checking since it's not 100% clear, we do not build different ignition gazebo versions against multiple protobuf versions right? If I understood how it works, the default protobuf pinning should be this one right?

Exactly, this is correct. Then during protobuf migrations, it may happen that a build against a new protobuf is done before the pinning is updated (see https://conda-forge.org/status/#libprotobuf318 for example).

@diegoferigo diegoferigo changed the title Add packages: libscenario, scenariopy, scenario, gym-ignition Add packages: libscenario scenariopy scenario gym-ignition Oct 20, 2021
@conda-forge-linter
Copy link

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

I wanted to let you know that I linted all conda-recipes in your PR (recipes/gym-ignition) and found some lint.

Here's what I've got...

For recipes/gym-ignition:

  • Selectors are suggested to take a <two spaces>#<one space>[<expression>] form. See lines [40]

@conda-forge-linter
Copy link

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 (recipes/gym-ignition) and found it was in an excellent condition.

@conda-forge-linter
Copy link

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

I wanted to let you know that I linted all conda-recipes in your PR (recipes/gym-ignition) and found some lint.

Here's what I've got...

For recipes/gym-ignition:

  • Selectors are suggested to take a <two spaces>#<one space>[<expression>] form. See lines [152]

@conda-forge-linter
Copy link

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 (recipes/gym-ignition) and found it was in an excellent condition.

@diegoferigo
Copy link
Contributor Author

diegoferigo commented Oct 23, 2021

  • linux: everything compiles and tests run successfully.
  • osx: everything compiles but tests segfault.
  • windows: problem finding the right compiler and CMake fails to configure.

For the moment, my priority is starting to distribute the linux version of these packages. I'll keep iterating on the other platforms from the feedstock repository. In any case, Ignition Gazebo installed from conda-forge still has problems on both osx and windows.

I'll proceed with a upstream new minor release (robotology-legacy/gym-ignition#411) including robotology-legacy/gym-ignition#406 and then mark this PR as ready to be merged.

@diegoferigo
Copy link
Contributor Author

I'm not an expert on this, but it seems to me that CI of staged-recipes is different than CI of a feedstock, particularly because the latter is rendered and independent pipelines are generated. What I think I'm experiencing here is a collision between the package name and a subpackage name. Probably having a subpackage with the same package name confuses the CI of staged-recipes, but it seems a valid configuration (e.g. bullet-feedstock).

If this is true, I'll disable the gym-ignition subpackage so that the feedstock gets created with the right name. Then, from the feedstock, I enable back the gym-ignition subpackage and rerender the recipe with a new build number.

It will be enabled back from the resulting feedstock repository
@diegoferigo diegoferigo marked this pull request as ready for review October 25, 2021 16:31
@diegoferigo
Copy link
Contributor Author

@conda-forge/staged-recipes I've experienced some problems as described in #16582 (comment) but I hope I can fix them directly from the feedstock repo. Currently, linux builds work fine and this is a promising starting point. If you don't have anything to add here about the package / subpackage naming problem, this PR is ready for review.

@wolfv
Copy link
Member

wolfv commented Jan 21, 2022

Hi @diegoferigo @traversaro sorry that this might have slipped under the radar. Should we pick it up again?

@diegoferigo
Copy link
Contributor Author

Hi @diegoferigo @traversaro sorry that this might have slipped under the radar. Should we pick it up again?

Hi @wolfv, thanks for the ping. I've been caught up on something else recently and I had not enough time to solve the last upstream problems. I think that the linux recipe was working fine and I was waiting to do a upstream release, but then some problems have occurred (Ignition broke our way of updating the GUI) and I am waiting to fix them before tagging a new release.

I'll ping you again as soon as I manage to finalize this PR, thanks!

@stale
Copy link

stale bot commented Sep 19, 2022

Hi friend!

We really, really, really appreciate that you have taken the time to make a PR on conda-forge/staged-recipes! conda-forge only exists because people like you donate their time to build and maintain conda recipes for use by the community.

In an effort to maintain this repository and increase the signal-to-noise for open PRs, the maintainers of staged-recipes close excessively old PRs after six months. This PR will remain open for another month, and then will be closed.

If you'd like to keep it open, please comment/push and we will be happy to oblige! Note that very old PRs will likely need to be rebased on main so that they can be rebuilt with the most recent CI scripts. If you have any trouble, or we missed reviewing this PR in the first place (sorry!), feel free to ping the team using a special command in a comment on the PR to get the attention of the staged-recipes team.

Cheers and thank you for contributing to this community effort!

@stale stale bot added the stale will be closed in 30 days label Sep 19, 2022
@stale
Copy link

stale bot commented Nov 13, 2022

Hi again! About a month ago, we commented on this PR saying it would be closed in another month if it was still inactive. It has been a month and so now it is being closed. Thank you so much for making it in the first place and contributing to the community project that is conda-forge. If you'd like to reopen this PR, please feel free to do so at any time!

Cheers and have a great day!

@stale stale bot closed this Nov 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

5 participants