• @HeyMrDeadMan@lemmy.world
    link
    fedilink
    1229 months ago

    I’m really triggered by the idea that Linux makes running old software easy. The bane of my existence is finding an application that depends on libButts.5.1, but my distro ships with libButts.5.3, which isn’t backward compatible for some reason, and trying to install libButts.5.1 bricks the desktop environment for some reason.

    • @eumesmo@lemmings.world
      link
      fedilink
      389 months ago

      I just searched for that lib, in an attempt to help you with the supposed problem. I won’t deny, you got me there.

    • Kayn
      link
      fedilink
      English
      229 months ago

      No time for actual facts, only circlejerking /s

    • Nefyedardu
      link
      fedilink
      219 months ago

      Appimage, Snap, Flatpak, Docker, Podman, Distrobox, Toolbox…

      • @HeyMrDeadMan@lemmy.world
        link
        fedilink
        109 months ago

        All potentially fantastic ideas had the original author bothered to package in any of those formats. Much more common is the only release is a .deb built for an ancient version of Ubuntu, leading to my above frustrstions.

        • @dustyData@lemmy.world
          link
          fedilink
          English
          3
          edit-2
          9 months ago
          1. Stop bothering with dead software.
          2. You can repackage old FOSS source code into any of those containers and install and use it that way. Nothing is stopping you, the tools are free and widely documented. You don’t need to own the FOSS repository to repackage it, and actually a huge chunk of containers are packaged by people not affiliated with the development project of the software.
          • @LemoineFairclough@sh.itjust.worksOP
            link
            fedilink
            English
            19 months ago

            I think we will become better served over time by using systems like the AUR or nix as it seems quite straightforward to make new software available with them. Both of those systems define the method a package should be built with, so even if the maintainer is long gone and the package hasn’t been updated in a long time it will probably still be possible to build, or any changes needed to build it can be easily shared to save other people troubleshooting effort.

            The drawbacks are: nix doesn’t seem to have an elegant way to define that users or groups should be created (e.g. at least one package providing locate requires that) (though it does have at least one non-elegant way and one manual but less non-elegant way), and a package usable with pacman has lacked a definition of what version of every dependency it requires in at least one case where it would have been useful to me (even though that is possible apparently), so if anything made a backwards-incompatible change you may not be able to use the package manager alone to troubleshoot.

        • @Kusimulkku@lemm.ee
          link
          fedilink
          19 months ago

          I’ve had poor luck with AppImage. Because of how it works, it has failed in the exact thing it was supposed to do, just werk everywhere. But I’ve heard it generally works well.

        • Nefyedardu
          link
          fedilink
          3
          edit-2
          9 months ago

          I mean not really, Appimage has been around since 2004, flatpak/docker for about a decade now. But at any rate I don’t see your point, the person I replied to said it’s hard to run old applications on Linux and I gave him solutions on how to do that. What does their age have to do with anything?

          • @Kusimulkku@lemm.ee
            link
            fedilink
            09 months ago

            I don’t see your point, the person I replied to said it’s hard to run old applications on Linux and I gave him solutions on how to do that. What does their age have to do with anything?

            it’s hard to run old applications on Linux

            What does their age have to do with anything

            I’m not sure if you’re taking the piss but since those solutions are so recent, you won’t find old applications packaged with those solutions.

            • Nefyedardu
              link
              fedilink
              5
              edit-2
              9 months ago

              They don’t need to be packaged at the time of creation anyway, they can be packaged right now. Distrobox makes this easy, like let’s say you need an application that only works on Ubuntu 18.04. It’s two commands:

              distrobox create --image ubuntu:18.04 ubuntu

              distrobox enter ubuntu -- sudo apt-get install _package_

              Then to export the package to your desktop you can even do

              distrobox enter ubuntu -- distrobox export --app _application_

              Boom, you have an Ubuntu 18.04 application on an OS of your choosing. You can theoretically do this with any distro, distrobox can use any OCI images from docker-hub, quay.io, or any registry of your choice.

    • @veng@lemmy.world
      link
      fedilink
      2
      edit-2
      9 months ago

      Anyone who’s feeling Linux savvy, try getting EAX working with some X-Fi hardware. Best of luck ;)

    • torpak
      link
      fedilink
      29 months ago

      can you not recompile the app to use the new lib?

      • @HeyMrDeadMan@lemmy.world
        link
        fedilink
        109 months ago

        Someone probably could. But not me. I am not a software developer, and being one should not be a prerequisite to using an OS, despite what the memes in this very group might lead one to believe.

      • @anonono@lemmy.world
        link
        fedilink
        89 months ago

        that’s when you find out that the updated build environment is incompatible with the older libraries the project expected.

        usually the only escape is docker, or containerization to be correct, just give the old app and old environment.

        this wastes a lot of space though

      • icedterminal
        link
        fedilink
        English
        6
        edit-2
        9 months ago

        Potentially but it’s not always that simple. I’ve literally encountered this exact scenario. OldeShit needs libY 1.9 but pacman is on 2.2. Can’t downgrade because libY uses 10 different libs collectively in the depends tree that explicitly need 2.0 or higher. So you take a look at libY and OldeShit builds only to realise several functions that libY provide have been reworked or removed, making it incompatible with OldeShit. As such OldeShit doesn’t build.

        As an aside, this is quite literally why Microsoft has several different VC Redistributables. To avoid this issue. But this also creates another issue. Lol.