• geneva_convenience@lemmy.ml
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    9 hours ago

    The problem is that there’s so many different ways of packaging and also that Windows generally does static linking so old binaries work after a decade. Whereas old Linux binaries are generally dynamically linked and are dependent on some other old library which isn’t availible for [current kernel] and you get into dependency hell

    • chrash0@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      5 hours ago

      so, it’s the same.

      saying “Linux does dynamic linking and Window does static linking” is both false and a mischaracterization. Windows absolutely does dynamic linking with its Dynamically Linked Libraries (.dll). how dependencies are linked is up to the developer and whatever hardware constraints. one reason i like Rust is that it prefers static linking, and a lot of tool chains are moving in that direction. the reason Linux distros push people toward their internal package management tools (eg apt) is to have tighter control over dynamic linking.

      and we’re also glossing over scoop and chocolatey and winget and Docker.

      but that’s where you get to stuff like flatpack and snap and Nix that try to contain the dynamic dependencies.

      i don’t think downloading exes hoping that Windows has stuffed enough DLLs into the OS and just running them is a better solution.

      • geneva_convenience@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        2 hours ago

        That’s true but on Windows it’s mostly just clicking install on everything on ninite. Linux libraries sometimes can’t even install on a newer kernel.

        I can usually get old Windows programs to run on newer Windows versions. On Linux I rarely had that sucess.

        • chrash0@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          26 minutes ago

          Linux libraries sometimes can’t even install on a newer kernel.

          i’m curious where you run into this. i’ve never had this issue in 10 years of using Linux, most of which being on Arch with the latest kernel