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

python3Packages.dm-tree: cleanup #393216

Merged
merged 1 commit into from
Mar 26, 2025
Merged

Conversation

ferrine
Copy link
Contributor

@ferrine ferrine commented Mar 25, 2025

address PR #384477 and resolves the issue with missing symbol. The essence of the issue was that abseil-cpp library was built with different flags for dm-tree leading to ldd issues only when used with specific libraries linked for the same process (e.g. pyarrow).

@nixos ➜ nixpkgs git:(dm-tree/fix) 
$ nix-shell -E 'with import <nixpkgs> {}; pkgs.mkShell {buildInputs = [(python3.withPackages (ps: with ps; [pyarrow dm-tree]))];}' --run 'python -c "import pyarrow; import tree; print(True)"
'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/nix/store/m2flkjzg6a958k7pspyq6rfspn4gsn8d-python3-3.12.9-env/lib/python3.12/site-packages/tree/__init__.py", line 23, in <module>
    from .sequence import _is_attrs
  File "/nix/store/m2flkjzg6a958k7pspyq6rfspn4gsn8d-python3-3.12.9-env/lib/python3.12/site-packages/tree/sequence.py", line 19, in <module>
    from tree import _tree
ImportError: /nix/store/m2flkjzg6a958k7pspyq6rfspn4gsn8d-python3-3.12.9-env/lib/python3.12/site-packages/tree/_tree.cpython-312-x86_64-linux-gnu.so: undefined symbol: _ZNK4absl12lts_20240722
11string_view5rfindEcm
@nixos ➜ nixpkgs git:(dm-tree/fix) 
$ nix-shell -E 'with import ./. {}; pkgs.mkShell {buildInputs = [(python3.withPackages (ps: with ps; [pyarrow dm-tree]))];}' --run 'python -c "import pyarrow; import tree; print(True)"'
this derivation will be built:
  /nix/store/bgbri4frxzkc4v4gmbwhl79bsn77q6pq-python3-3.12.9-env.drv
building '/nix/store/bgbri4frxzkc4v4gmbwhl79bsn77q6pq-python3-3.12.9-env.drv'...
created 248 symlinks in user environment
True

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

Tagging @GaetanLepage for review

@ofborg ofborg bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Mar 25, 2025
@nix-owners nix-owners bot requested a review from natsukium March 25, 2025 22:08
@GaetanLepage
Copy link
Contributor

Thanks! Can you fix the merge conflict please?

@ferrine
Copy link
Contributor Author

ferrine commented Mar 25, 2025

yeah, pulling latest pkgs takes forever, will do soon

@ofborg ofborg bot removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Mar 25, 2025
@ferrine
Copy link
Contributor Author

ferrine commented Mar 25, 2025

@GaetanLepage done

@GaetanLepage
Copy link
Contributor

Diff LGTM, but I think that it breaks orbax-checkpoint. Can you have a look please?

@GaetanLepage
Copy link
Contributor

@ofborg build python312Packages.orbax-checkpoint

@ferrine
Copy link
Contributor Author

ferrine commented Mar 26, 2025

yeah, this build is failing

@ferrine
Copy link
Contributor Author

ferrine commented Mar 26, 2025

builds now somehow, strange

@nixos ➜ nixpkgs git:(dm-tree/fix) 
$ nix-build ./. -A python312Packages.orbax-checkpoint 
/nix/store/0g6p73d19vasyq494k3swp6pwx6lc8qz-python3.12-orbax-checkpoint-0.11.10

@GaetanLepage
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 393216


x86_64-linux

⏩ 10 packages marked as broken and skipped:
  • python312Packages.elegy
  • python312Packages.elegy.dist
  • python312Packages.objax
  • python312Packages.objax.dist
  • python312Packages.oryx
  • python312Packages.oryx.dist
  • python312Packages.torchrl
  • python312Packages.torchrl.dist
  • python312Packages.treex
  • python312Packages.treex.dist
✅ 118 packages built:
  • minari (python312Packages.minari)
  • minari.dist (python312Packages.minari.dist)
  • python312Packages.ale-py
  • python312Packages.ale-py.dist
  • python312Packages.arviz
  • python312Packages.arviz.dist
  • python312Packages.bambi
  • python312Packages.bambi.dist
  • python312Packages.blackjax
  • python312Packages.blackjax.dist
  • python312Packages.bsuite
  • python312Packages.bsuite.dist
  • python312Packages.chex
  • python312Packages.chex.dist
  • python312Packages.cleanlab
  • python312Packages.cleanlab.dist
  • python312Packages.corner
  • python312Packages.corner.dist
  • python312Packages.dalle-mini
  • python312Packages.dalle-mini.dist
  • python312Packages.deepface
  • python312Packages.deepface.dist
  • python312Packages.distrax
  • python312Packages.distrax.dist
  • python312Packages.dm-control
  • python312Packages.dm-control.dist
  • python312Packages.dm-env
  • python312Packages.dm-env.dist
  • python312Packages.dm-tree
  • python312Packages.dm-tree.dist
  • python312Packages.edward
  • python312Packages.edward.dist
  • python312Packages.equinox
  • python312Packages.equinox.dist
  • python312Packages.evosax
  • python312Packages.evosax.dist
  • python312Packages.flax
  • python312Packages.flax.dist
  • python312Packages.flowjax
  • python312Packages.flowjax.dist
  • python312Packages.flowmc
  • python312Packages.flowmc.dist
  • python312Packages.gymnasium
  • python312Packages.gymnasium.dist
  • python312Packages.jaxopt
  • python312Packages.jaxopt.dist
  • python312Packages.keras
  • python312Packages.keras.dist
  • python312Packages.lineax
  • python312Packages.lineax.dist
  • python312Packages.mhcflurry
  • python312Packages.mhcflurry.dist
  • python312Packages.mtcnn
  • python312Packages.mtcnn.dist
  • python312Packages.numpyro
  • python312Packages.numpyro.dist
  • python312Packages.nutpie
  • python312Packages.nutpie.dist
  • python312Packages.optax
  • python312Packages.optax.dist
  • python312Packages.optax.testsout
  • python312Packages.optimistix
  • python312Packages.optimistix.dist
  • python312Packages.orbax-checkpoint
  • python312Packages.orbax-checkpoint.dist
  • python312Packages.paramax
  • python312Packages.paramax.dist
  • python312Packages.pettingzoo
  • python312Packages.pettingzoo.dist
  • python312Packages.pymc
  • python312Packages.pymc.dist
  • python312Packages.pytensor
  • python312Packages.pytensor.dist
  • python312Packages.retinaface
  • python312Packages.retinaface.dist
  • python312Packages.rlax
  • python312Packages.rlax.dist
  • python312Packages.shimmy
  • python312Packages.shimmy.dist
  • python312Packages.skrl
  • python312Packages.skrl.dist
  • python312Packages.stable-baselines3
  • python312Packages.stable-baselines3.dist
  • python312Packages.tensorflow-probability
  • python312Packages.tensorflow-probability.dist
  • python312Packages.tianshou
  • python312Packages.tianshou.dist
  • python312Packages.vqgan-jax
  • python312Packages.vqgan-jax.dist
  • python313Packages.blackjax
  • python313Packages.blackjax.dist
  • python313Packages.bsuite
  • python313Packages.bsuite.dist
  • python313Packages.chex
  • python313Packages.chex.dist
  • python313Packages.dm-control
  • python313Packages.dm-control.dist
  • python313Packages.dm-env
  • python313Packages.dm-env.dist
  • python313Packages.dm-tree
  • python313Packages.dm-tree.dist
  • python313Packages.equinox
  • python313Packages.equinox.dist
  • python313Packages.flowmc
  • python313Packages.flowmc.dist
  • python313Packages.jaxopt
  • python313Packages.jaxopt.dist
  • python313Packages.lineax
  • python313Packages.lineax.dist
  • python313Packages.optax
  • python313Packages.optax.dist
  • python313Packages.optax.testsout
  • python313Packages.optimistix
  • python313Packages.optimistix.dist
  • python313Packages.orbax-checkpoint
  • python313Packages.orbax-checkpoint.dist
  • python313Packages.paramax
  • python313Packages.paramax.dist

Copy link
Member

Choose a reason for hiding this comment

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

did we forget to remove this in some previous change?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It smelled like this

Copy link
Contributor

@GaetanLepage GaetanLepage left a comment

Choose a reason for hiding this comment

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

LGTM, @samuela shall we merge?

@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one reputable person label Mar 26, 2025
@GaetanLepage
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 393216


x86_64-linux

⏩ 10 packages marked as broken and skipped:
  • python312Packages.elegy
  • python312Packages.elegy.dist
  • python312Packages.objax
  • python312Packages.objax.dist
  • python312Packages.oryx
  • python312Packages.oryx.dist
  • python312Packages.torchrl
  • python312Packages.torchrl.dist
  • python312Packages.treex
  • python312Packages.treex.dist
✅ 118 packages built:
  • minari (python312Packages.minari)
  • minari.dist (python312Packages.minari.dist)
  • python312Packages.ale-py
  • python312Packages.ale-py.dist
  • python312Packages.arviz
  • python312Packages.arviz.dist
  • python312Packages.bambi
  • python312Packages.bambi.dist
  • python312Packages.blackjax
  • python312Packages.blackjax.dist
  • python312Packages.bsuite
  • python312Packages.bsuite.dist
  • python312Packages.chex
  • python312Packages.chex.dist
  • python312Packages.cleanlab
  • python312Packages.cleanlab.dist
  • python312Packages.corner
  • python312Packages.corner.dist
  • python312Packages.dalle-mini
  • python312Packages.dalle-mini.dist
  • python312Packages.deepface
  • python312Packages.deepface.dist
  • python312Packages.distrax
  • python312Packages.distrax.dist
  • python312Packages.dm-control
  • python312Packages.dm-control.dist
  • python312Packages.dm-env
  • python312Packages.dm-env.dist
  • python312Packages.dm-tree
  • python312Packages.dm-tree.dist
  • python312Packages.edward
  • python312Packages.edward.dist
  • python312Packages.equinox
  • python312Packages.equinox.dist
  • python312Packages.evosax
  • python312Packages.evosax.dist
  • python312Packages.flax
  • python312Packages.flax.dist
  • python312Packages.flowjax
  • python312Packages.flowjax.dist
  • python312Packages.flowmc
  • python312Packages.flowmc.dist
  • python312Packages.gymnasium
  • python312Packages.gymnasium.dist
  • python312Packages.jaxopt
  • python312Packages.jaxopt.dist
  • python312Packages.keras
  • python312Packages.keras.dist
  • python312Packages.lineax
  • python312Packages.lineax.dist
  • python312Packages.mhcflurry
  • python312Packages.mhcflurry.dist
  • python312Packages.mtcnn
  • python312Packages.mtcnn.dist
  • python312Packages.numpyro
  • python312Packages.numpyro.dist
  • python312Packages.nutpie
  • python312Packages.nutpie.dist
  • python312Packages.optax
  • python312Packages.optax.dist
  • python312Packages.optax.testsout
  • python312Packages.optimistix
  • python312Packages.optimistix.dist
  • python312Packages.orbax-checkpoint
  • python312Packages.orbax-checkpoint.dist
  • python312Packages.paramax
  • python312Packages.paramax.dist
  • python312Packages.pettingzoo
  • python312Packages.pettingzoo.dist
  • python312Packages.pymc
  • python312Packages.pymc.dist
  • python312Packages.pytensor
  • python312Packages.pytensor.dist
  • python312Packages.retinaface
  • python312Packages.retinaface.dist
  • python312Packages.rlax
  • python312Packages.rlax.dist
  • python312Packages.shimmy
  • python312Packages.shimmy.dist
  • python312Packages.skrl
  • python312Packages.skrl.dist
  • python312Packages.stable-baselines3
  • python312Packages.stable-baselines3.dist
  • python312Packages.tensorflow-probability
  • python312Packages.tensorflow-probability.dist
  • python312Packages.tianshou
  • python312Packages.tianshou.dist
  • python312Packages.vqgan-jax
  • python312Packages.vqgan-jax.dist
  • python313Packages.blackjax
  • python313Packages.blackjax.dist
  • python313Packages.bsuite
  • python313Packages.bsuite.dist
  • python313Packages.chex
  • python313Packages.chex.dist
  • python313Packages.dm-control
  • python313Packages.dm-control.dist
  • python313Packages.dm-env
  • python313Packages.dm-env.dist
  • python313Packages.dm-tree
  • python313Packages.dm-tree.dist
  • python313Packages.equinox
  • python313Packages.equinox.dist
  • python313Packages.flowmc
  • python313Packages.flowmc.dist
  • python313Packages.jaxopt
  • python313Packages.jaxopt.dist
  • python313Packages.lineax
  • python313Packages.lineax.dist
  • python313Packages.optax
  • python313Packages.optax.dist
  • python313Packages.optax.testsout
  • python313Packages.optimistix
  • python313Packages.optimistix.dist
  • python313Packages.orbax-checkpoint
  • python313Packages.orbax-checkpoint.dist
  • python313Packages.paramax
  • python313Packages.paramax.dist

aarch64-linux

⏩ 10 packages marked as broken and skipped:
  • python312Packages.elegy
  • python312Packages.elegy.dist
  • python312Packages.objax
  • python312Packages.objax.dist
  • python312Packages.oryx
  • python312Packages.oryx.dist
  • python312Packages.torchrl
  • python312Packages.torchrl.dist
  • python312Packages.treex
  • python312Packages.treex.dist
✅ 118 packages built:
  • minari (python312Packages.minari)
  • minari.dist (python312Packages.minari.dist)
  • python312Packages.ale-py
  • python312Packages.ale-py.dist
  • python312Packages.arviz
  • python312Packages.arviz.dist
  • python312Packages.bambi
  • python312Packages.bambi.dist
  • python312Packages.blackjax
  • python312Packages.blackjax.dist
  • python312Packages.bsuite
  • python312Packages.bsuite.dist
  • python312Packages.chex
  • python312Packages.chex.dist
  • python312Packages.cleanlab
  • python312Packages.cleanlab.dist
  • python312Packages.corner
  • python312Packages.corner.dist
  • python312Packages.dalle-mini
  • python312Packages.dalle-mini.dist
  • python312Packages.deepface
  • python312Packages.deepface.dist
  • python312Packages.distrax
  • python312Packages.distrax.dist
  • python312Packages.dm-control
  • python312Packages.dm-control.dist
  • python312Packages.dm-env
  • python312Packages.dm-env.dist
  • python312Packages.dm-tree
  • python312Packages.dm-tree.dist
  • python312Packages.edward
  • python312Packages.edward.dist
  • python312Packages.equinox
  • python312Packages.equinox.dist
  • python312Packages.evosax
  • python312Packages.evosax.dist
  • python312Packages.flax
  • python312Packages.flax.dist
  • python312Packages.flowjax
  • python312Packages.flowjax.dist
  • python312Packages.flowmc
  • python312Packages.flowmc.dist
  • python312Packages.gymnasium
  • python312Packages.gymnasium.dist
  • python312Packages.jaxopt
  • python312Packages.jaxopt.dist
  • python312Packages.keras
  • python312Packages.keras.dist
  • python312Packages.lineax
  • python312Packages.lineax.dist
  • python312Packages.mhcflurry
  • python312Packages.mhcflurry.dist
  • python312Packages.mtcnn
  • python312Packages.mtcnn.dist
  • python312Packages.numpyro
  • python312Packages.numpyro.dist
  • python312Packages.nutpie
  • python312Packages.nutpie.dist
  • python312Packages.optax
  • python312Packages.optax.dist
  • python312Packages.optax.testsout
  • python312Packages.optimistix
  • python312Packages.optimistix.dist
  • python312Packages.orbax-checkpoint
  • python312Packages.orbax-checkpoint.dist
  • python312Packages.paramax
  • python312Packages.paramax.dist
  • python312Packages.pettingzoo
  • python312Packages.pettingzoo.dist
  • python312Packages.pymc
  • python312Packages.pymc.dist
  • python312Packages.pytensor
  • python312Packages.pytensor.dist
  • python312Packages.retinaface
  • python312Packages.retinaface.dist
  • python312Packages.rlax
  • python312Packages.rlax.dist
  • python312Packages.shimmy
  • python312Packages.shimmy.dist
  • python312Packages.skrl
  • python312Packages.skrl.dist
  • python312Packages.stable-baselines3
  • python312Packages.stable-baselines3.dist
  • python312Packages.tensorflow-probability
  • python312Packages.tensorflow-probability.dist
  • python312Packages.tianshou
  • python312Packages.tianshou.dist
  • python312Packages.vqgan-jax
  • python312Packages.vqgan-jax.dist
  • python313Packages.blackjax
  • python313Packages.blackjax.dist
  • python313Packages.bsuite
  • python313Packages.bsuite.dist
  • python313Packages.chex
  • python313Packages.chex.dist
  • python313Packages.dm-control
  • python313Packages.dm-control.dist
  • python313Packages.dm-env
  • python313Packages.dm-env.dist
  • python313Packages.dm-tree
  • python313Packages.dm-tree.dist
  • python313Packages.equinox
  • python313Packages.equinox.dist
  • python313Packages.flowmc
  • python313Packages.flowmc.dist
  • python313Packages.jaxopt
  • python313Packages.jaxopt.dist
  • python313Packages.lineax
  • python313Packages.lineax.dist
  • python313Packages.optax
  • python313Packages.optax.dist
  • python313Packages.optax.testsout
  • python313Packages.optimistix
  • python313Packages.optimistix.dist
  • python313Packages.orbax-checkpoint
  • python313Packages.orbax-checkpoint.dist
  • python313Packages.paramax
  • python313Packages.paramax.dist

@GaetanLepage GaetanLepage merged commit ee4dd4e into NixOS:master Mar 26, 2025
32 of 34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants