Skip to content

Bump fmt version requirement to 11.1.0 #280

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

Closed

Conversation

abussy-aldebaran
Copy link
Contributor

@abussy-aldebaran abussy-aldebaran commented Mar 27, 2025

When building bench-talos-walk with pixi, I got the error

ld: lib/libaligator.so.0.11.0: undefined reference to `fmt::v11::detail::vformat_to(fmt::v11::detail::buffer<char>&, fmt::v11::basic_string_view<char>, fmt::v11::basic_format_args<fmt::v11::context>, fmt::v11::detail::locale_ref)

I had fmt 11.0.2 selected by pixi. Indeed, when building fmt at this version, I got

objdump -TC libfmt.so | grep vformat_to
000000000000b534  w   DF .text	00000000000000c2  Base        void fmt::v11::detail::vformat_to<char>(fmt::v11::detail::buffer<char>&, fmt::v11::basic_string_view<char>, fmt::v11::detail::vformat_args<char>::type, fmt::v11::detail::locale_ref)

When building fmt at master, I got

objdump -TC libfmt.so | grep vformat_to
000000000000b534  w   DF .text	00000000000000c2  Base        void fmt::v11::detail::vformat_to<char>(fmt::v11::detail::buffer<char>&, fmt::v11::basic_string_view<char>, fmt::v11::detail::vformat_args<char>::type, fmt::v11::detail::locale_ref)
0000000000005b4f g    DF .text	0000000000000102  Base        fmt::v11::detail::vformat_to(fmt::v11::detail::buffer<char>&, fmt::v11::basic_string_view<char>, fmt::v11::basic_format_args<fmt::v11::context>, fmt::v11::detail::locale_ref)

which is the correct output.

Running a git bisect identified fmtlib/fmt@c3344e2 as the fixing commit.
Therefore, I propose to update the fmt requirement to version 11.1.0

@abussy-aldebaran abussy-aldebaran changed the title Bump fmt version requirement Bump fmt version requirement to 11.1 Mar 27, 2025

Verified

This commit was signed with the committer’s verified signature.
darcyclarke Darcy Clarke
@abussy-aldebaran abussy-aldebaran changed the title Bump fmt version requirement to 11.1 Bump fmt version requirement to 11.1.0 Mar 27, 2025
@ManifoldFR
Copy link
Member

Hum, it won't be possible to bump the minimum fmt to 11 due to dependency constraints (mainly, our friendly neighborhood ROS, is that right @edantec ?)

On our end we are building with fmt==10.2.1. That's what it is in my current environment.

Do you think there might be another solution? An include or line of code to change?

@abussy-aldebaran
Copy link
Contributor Author

On my end I can't test with fmt==10.2.1, pixi won't let me downgrade, because of proxsuite-nlp. I guess this is because of https://github.com/Simple-Robotics/proxsuite-nlp/blob/devel/pixi.lock#L43

@ManifoldFR
Copy link
Member

Can you try building manually with conda ? Our Ros environments with 10.2.1 use conda.

@jorisv
Copy link
Contributor

jorisv commented Mar 27, 2025

Hello @abussy-aldebaran,

I have no issue building bench-talos-walk with pixi in the all environment (and fmt 11.0.2).
Can you give us a way to reproduce it ?

@ManifoldFR btw, building in the default environment is broken because of some coal symbols

@jorisv
Copy link
Contributor

jorisv commented Mar 28, 2025

On my end I can't test with fmt==10.2.1, pixi won't let me downgrade, because of proxsuite-nlp. I guess this is because of https://github.com/Simple-Robotics/proxsuite-nlp/blob/devel/pixi.lock#L43

The proxsuite-nlp pixi.lock file is not connected to the aligator one. It's the proxsuite-nlp package builded from conda forge that restraint the version: conda-forge/proxsuite-nlp-feedstock#47

The fmt package declare it doesn't break his ABI on patch release: https://github.com/conda-forge/fmt-feedstock/blob/main/recipe/meta.yaml#L14

So you can change the patch version, but to change the major.minor we need a rebuild from conda-forge.

@abussy-aldebaran
Copy link
Contributor Author

I have no issue building bench-talos-walk with pixi in the all environment (and fmt 11.0.2). Can you give us a way to reproduce it ?

I couldn't reproduce it when building from scratch either. Maybe my build and .envs folders were in a quantum state 🤔

@jorisv
Copy link
Contributor

jorisv commented Mar 28, 2025

Ok, be careful when using pixi to not modify the pixi environment with conda. I saw some people (:eyes: @ManifoldFR) doing that, and it create a non reproducible environment.

I think we can close this PR ?

@ManifoldFR
Copy link
Member

I think so yes @jorisv

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.

None yet

3 participants