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

[bot-automerge] pinocchio v3.0.0 #117

Merged
merged 16 commits into from
Jun 19, 2024

Conversation

regro-cf-autotick-bot
Copy link
Contributor

It is very likely that the current package version for this feedstock is out of date.

Checklist before merging this PR:

  • Dependencies have been updated if changed: see upstream
  • Tests have passed
  • Updated license if changed and license_file is packaged

Information about this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
  3. The bot will stop issuing PRs if more than 3 version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.
  4. If you want these PRs to be merged automatically, make an issue with @conda-forge-admin,please add bot automerge in the title and merge the resulting PR. This command will add our bot automerge feature to your feedstock.
  5. 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.

Dependency Analysis

Please note that this analysis is highly experimental. The aim here is to make maintenance easier by inspecting the package's dependencies. Importantly this analysis does not support optional dependencies, please double check those before making changes. If you do not want hinting of this kind ever please add bot: inspection: disabled to your conda-forge.yml. If you encounter issues with this feature please ping the bot team conda-forge/bot.

Analysis by source code inspection shows a discrepancy between it and the the package's stated requirements in the meta.yaml.

Packages found by source code inspection but not in the meta.yaml:

  • example-robot-data
  • omniorb
  • casadi
  • cython
  • pygments
  • sphinx
  • docutils

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/9263225890 - 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.

@conda-forge-webservices
Copy link
Contributor

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 (recipe) and found some lint.

Here's what I've got...

For recipe:

  • Selectors are suggested to take a <two spaces>#<one space>[<expression>] form. See lines [39, 51]
  • requirements: host: cppad<=20230000 must contain a space between the name and the pin, i.e. cppad <=20230000
  • requirements: run: cppad<=20230000 must contain a space between the name and the pin, i.e. cppad <=20230000

Copy link
Contributor

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

It appears that not all commits to this PR were made by the bot. Thus this PR is not being automatically merged. Please add the automerge label again (or ask a maintainer to do so) if you'd like to enable automerge again!

@conda-forge-webservices
Copy link
Contributor

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 (recipe) and found some lint.

Here's what I've got...

For recipe:

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

@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.

@jorisv
Copy link
Contributor

jorisv commented May 28, 2024

@conda-forge-admin, please restart ci

@jorisv
Copy link
Contributor

jorisv commented May 28, 2024

@conda-forge-admin, please restart ci

@traversaro
Copy link
Contributor

Congrats on the new release! The pypy builds are blocked (also) on conda-forge/casadi-feedstock#109, I guess casadi needs (at least) some CMake fixes for working with pypy.

Regarding the cppad pin, do you have any reference to the issue that needs that? Unfortunately pinning cppad to such an older version means that other software in conda-forge that depends on cppad will not be installable with pinocchio 3. A possible alternative is to pin cppad to an older version in https://github.com/conda-forge/conda-forge-pinning-feedstock, to ensure that all conda-forge recipes use the same (older) cppad version.

@jorisv
Copy link
Contributor

jorisv commented May 29, 2024

Hello @traversaro,

I think casadi need proxsuite to be built on pypy.
I'm currently working to activate the proxsuite pypy build. I think I find the way to activate it, but if you have some time, you can check if I made some mistake.

For cppad here the issue. cppad 2024 have added max_digits10 member in CppAD::numeric_limits specialization for CppAD::AD.

cppadcodegen has not been released since and one of his specialization for the cg::CG type don't contains max_digits10.
This create a compilation issue on clang-based compiler.

In short, last cppadcodgen can only build with cppad 2023. We should patch and release cppadcodgen to fix cleanly this issue.

In the meantime, global pinning can be a nice option. But how to ensure that no other library in conda-forge need the cppad 2024 version ?

The last, and maybe the safest option, is to remove cppadcodegen dependency from conda-forge pinocchio package.

@traversaro
Copy link
Contributor

traversaro commented May 29, 2024

In short, last cppadcodgen can only build with cppad 2023. We should patch and release cppadcodgen to fix cleanly this issue.

Cool, that is great!

In the meantime, global pinning can be a nice option. But how to ensure that no other library in conda-forge need the cppad 2024 version ?

Basically if you add a global pin, you also create a migration and all downstream ports gets rebuilt for that specific cppad version. However, if you already plan to fix this in cppadcodgen, we can wait for the fix, and leave with temporary incompatibility for now.

I think casadi need proxsuite to be built on pypy.

Even with proxsuite available, there are some fixes necessary in CasADi's CMake to be able to support pypy. I guess they are doable, but I never looked into that as we do not have users using pypy.

@jorisv
Copy link
Contributor

jorisv commented Jun 4, 2024

@conda-forge-admin, please restart ci

@traversaro
Copy link
Contributor

For cppad here the issue. cppad 2024 have added max_digits10 member in CppAD::numeric_limits specialization for CppAD::AD.

cppadcodegen has not been released since and one of his specialization for the cg::CG type don't contains max_digits10. This create a compilation issue on clang-based compiler.

In short, last cppadcodgen can only build with cppad 2023. We should patch and release cppadcodgen to fix cleanly this issue.

Just for alignment/cross-link, I guess the upstream issue is coin-or/CppAD#206 .

@jorisv
Copy link
Contributor

jorisv commented Jun 5, 2024

Upstream patch for CppADCodeGen:

@jorisv
Copy link
Contributor

jorisv commented Jun 5, 2024

@conda-forge-admin, please restart ci

@jorisv
Copy link
Contributor

jorisv commented Jun 5, 2024

@conda-forge-admin, please restart ci

@jorisv
Copy link
Contributor

jorisv commented Jun 5, 2024

@conda-forge-admin, please restart ci

@jorisv
Copy link
Contributor

jorisv commented Jun 12, 2024

Hello @traversaro,

I have some issue with PyPy. When loading the Python binding made with PyPy, the interpreter crash.
I have been able to create a minimal example to reproduce it:

#include <boost/python.hpp>

struct Toto
{};

char const* greet(int x, const Toto& t)
{
   return "hello, world";
}

BOOST_PYTHON_MODULE(test)
{
    using namespace boost::python;
  class_<Toto>("Toto");
  Toto t;
    def("greet", greet, (arg("x")=0, arg("t")=t));
}

You can build this example with the following command :

g++ -I$CONDA_PREFIX/include test.cpp -I$CONDA_PREFIX/include/pypy3.9 -L$CONDA_PREFIX/lib -lboost_python39 --shared -fPIC -o test.pypy39-pp73-x86_64-linux-gnu.so -g

And run with the following one :

python -c "import test"

Unfortunately, I don't get why this code crash with PyPy, but work with CPython.
I found some related issues:

But it doesn't help so much.

I will try to continue the investigation, but in the meantime I wondering if it's possible to deactivate PyPy build for this release ?
Also, some CI pipeline are canceled because of timeout. Is it possible to extend the allowed build time ? If not I will just deactivate some option.

Thank !

@traversaro
Copy link
Contributor

I will try to continue the investigation, but in the meantime I wondering if it's possible to deactivate PyPy build for this release ?

For me it is perfectly fine to do not build for pypy, users that need pypy will just continue to get the old version, so nothing will break for me.

@jorisv
Copy link
Contributor

jorisv commented Jun 12, 2024

For me it is perfectly fine to do not build for pypy, users that need pypy will just continue to get the old version, so nothing will break for me.

Perfect, how can I disable the PyPy build ?

@traversaro
Copy link
Contributor

Also, some CI pipeline are canceled because of timeout. Is it possible to extend the allowed build time ? If not I will just deactivate some option.

As far as I know the 6 hours limit is enforced by Azure CI, so it is not possible to increase it. The only way to get longer time is to use https://github.com/Quansight/open-gpu-server, but that requires special permissions so I am not sure if it possible to get them in this case, and even if it is possible it will take times, so finding some solution to fix in 6 hours may be the best option at the moment.

@jorisv jorisv merged commit 5acfd1e into conda-forge:main Jun 19, 2024
32 checks passed
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the 3.0.0_heee017 branch June 19, 2024 11:07
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

Successfully merging this pull request may close these issues.

3 participants