How I feel when symlinking a library to act as the "correct" version so my executables stop nagging. Spongebob angrily shouting "You are going to load my shared libraries, and you are going to like it!"
you are viewing a single comment's thread
view the rest of the comments
[–] 1 point 1 month ago (3 children)

How does Gentoo deal with this? Just curious, I'm looking to try it this weekend

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 1 month ago (2 children)

    well, for one, Gentoo builds it's packages from source when you install them, so you don't need a binary that targets your specific version of libraries because it was built with those library versions from that point in time. like with other distros, you have to choose the el9, el10, fc44, fc45 version or the one for "noble", "forky", "bookworm" or "trixie". on Gentoo, the application you install get's linked to the library version you have installed. (simplified)

    for the second part, the "conflict with each other", Gentoo doesn't do it like NIX, where you have those unique paths like "/nix/store/ggl4fqsvvlyf1y3rl6mk72nf0dc8c8hr-system-path/bin/bash". but some packages (but not all) have "slots" that you can install in parallel. (e.g. rust, python, gentoo-kernel, wine, lua, ...)

    usually the actual binary of those packages is named like the version, e.g. /usr/bin/python3.14 and /usr/bin/python (which is the thing that actually gets used via PATH) is a symlink that you can switch with Gentoo tooling (eselect). another way it is done is: packages you install come preset with what dependency version they like to use and that version gets installed along the already installed version, if necessary. (e.g. they set RUST_MIN_VER="1.98.0" or PYTHON_SINGLE_TARGET="python3_12")

    when a dependency gets updated, sometimes the application also needs to get rebuilt to that updated library version. it happens automatically on dist-upgrade (@world update)

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 month ago (1 child)

    thank you, that makes sense. have you used nix/nixOS before? I am currently using it and considering to switch (maybe to gentoo ^^)

  • source
  • parent
  • hideshow 1 child comment