conda-forge / pinocchio-feedstock

A conda-smithy repository for pinocchio.
BSD 3-Clause "New" or "Revised" License
12 stars 10 forks source link

[bot-automerge] pinocchio v3.0.0 #117

Closed regro-cf-autotick-bot closed 4 weeks ago

regro-cf-autotick-bot commented 1 month ago

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

Checklist before merging this PR:

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 code>@conda-forge-admin,</codeplease 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 code>@<space/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:

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[bot] commented 1 month ago

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[bot] commented 1 month ago

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:

github-actions[bot] commented 1 month ago

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[bot] commented 1 month ago

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:

conda-forge-webservices[bot] commented 1 month ago

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 commented 1 month ago

@conda-forge-admin, please restart ci

jorisv commented 1 month ago

@conda-forge-admin, please restart ci

traversaro commented 1 month ago

Congrats on the new release! The pypy builds are blocked (also) on https://github.com/conda-forge/casadi-feedstock/pull/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 commented 1 month ago

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 commented 1 month ago

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 commented 1 month ago

@conda-forge-admin, please restart ci

traversaro commented 1 month ago

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 https://github.com/coin-or/CppAD/issues/206 .

jorisv commented 1 month ago

Upstream patch for CppADCodeGen:

jorisv commented 1 month ago

@conda-forge-admin, please restart ci

jorisv commented 1 month ago

@conda-forge-admin, please restart ci

jorisv commented 1 month ago

@conda-forge-admin, please restart ci

jorisv commented 1 month ago

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 commented 1 month ago

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 commented 1 month ago

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 commented 1 month ago

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.