this post was submitted on 09 Aug 2023
1825 points (94.3% liked)

linuxmemes

24401 readers
776 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
  • Don't get baited into back-and-forth insults. We are not animals.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn, no politics, no trolling or ragebaiting.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, <loves/tolerates/hates> systemd, and wants to interject for a moment. You can stop now.
  • 5. πŸ‡¬πŸ‡§ Language/язык/Sprache
  • This is primarily an English-speaking community. πŸ‡¬πŸ‡§πŸ‡¦πŸ‡ΊπŸ‡ΊπŸ‡Έ
  • Comments written in other languages are allowed.
  • The substance of a post should be comprehensible for people who only speak English.
  • Titles and post bodies written in other languages will be allowed, but only as long as the above rule is observed.
  • 6. (NEW!) Regarding public figuresWe all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations.
  • Keep discussions polite and free of disparagement.
  • We are never in possession of all of the facts. Defamatory comments will not be tolerated.
  • Discussions that get too heated will be locked and offending comments removed.
  •  

    Please report posts and comments that break these rules!


    Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.

    founded 2 years ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] danielton@lemmy.world 62 points 2 years ago (5 children)

    Try running an old binary on Linux.

    [–] _thebrain_@lemmy.world 38 points 2 years ago (2 children)

    Define old binary. The a.out and elf format haven't changed in a very long time. If you mean something from an old system with unmet dependencies, it will run, but it will crash and warn you that some library isn't found. It will still run up until that point tho.

    [–] danielton@lemmy.frozeninferno.xyz 37 points 2 years ago (4 children)

    Anything 5-10 years old or older. Chances are, it won't work unless it's a static binary. Linux has long had a policy of "F backwards compatibility" in the userspace, so you need to dig up the 5-10 year old libraries it needs to run. And for anything 32-bit, you also need to install the 32-bit versions of all your system libraries.

    Acting like "old app won't run" is exclusive to macOS is misleading.

    [–] original_ish_name@lemm.ee 25 points 2 years ago

    There's a massive difference between saying "noooooo!!!!! That's too old!!!!!!" And saying "you don't have the right libraries"

    Also because it's a dependency issue, won't flatpaks fix it?

    [–] dorumon@lemmy.world 3 points 2 years ago* (last edited 2 years ago) (1 children)

    Yes but most people aren't doing this unless they are insane and finding these libraries is borderline impossible and I personally in my search have found a bunch of dead links for them. So no Linux isn't backwards compatible to me and never will be backwards compatible because it fundamentally can't be because even libc and it's changes have broken stuff in the past with some Steam Linux native games I was trying to run.

    [–] uranibaba@lemmy.world 2 points 2 years ago

    but most people aren't doing this

    Does updating from a non-LTS version of a OS what is no longer supported, to the current LTS count?

    I didn't realise it wasn't LTS at the time, only when I wanted to update to the next LTS did I realise what I had done. Let me tell you, it wasn't an easy fix, I had to write the StackOverflow answer myself.

    [–] Laser@feddit.de 2 points 2 years ago (1 children)

    I ran UT2k4 in 2016 or so, it was dynamically linked but brought its libraries, I had to replace some IIRC but afterwards, it ran.

    [–] agressivelyPassive@feddit.de 5 points 2 years ago (1 children)

    Dynamically linking libraries that ship with the executable is functionally identical to static linking in this case.

    [–] Laser@feddit.de 5 points 2 years ago* (last edited 2 years ago) (1 children)

    Sure, but what is the point of the thread then? Of course a program will need the libraries it was linked against. The kernel has nothing to do with that really. The point was it is possible to run old binaries. Even a recent program will fail to run if its dependencies aren't provided, that's not an issue with older ones exclusively...

    [–] agressivelyPassive@feddit.de 0 points 2 years ago

    The point is, that under Windows you can take a very old program, sometimes even from the DOS era, and the chances are good, that it will run just fine. UT99 for example runs perfectly under Windows 11 despite being over 20 years older than the OS. That's mainly because Windows ensures a relatively high degree of backwards compatibility.

    Under Linux, running a five year old binary is almost impossible without 500 hacks. That is quite a different experience.

    [–] dorumon@lemmy.world 6 points 2 years ago* (last edited 2 years ago) (1 children)

    I can't personally run Kobo Desktop anymore on Linux because proprietary devs are so used to Windows. Running things for literal decades that; why update their software or maintain it for longer than the couple of years when it was released if even that?

    Like Linux is inherently constantly evolving and changing without any regards to how software developers feel. When using libraries that will change and break shit even with flatpaks, app images and snaps if they don't maintain their software.

    So using this argument is completely missing the point entirely when so much shit is broken on Linux because of it. Despite said software being able to run up until they throw a library error at your ass.

    [–] _thebrain_@lemmy.world 7 points 2 years ago* (last edited 2 years ago) (1 children)

    I mean, there is nothing stopping you from installing whatever version of the library that is required in tandem with the latest version. You could even put it somewhere other then a standard library location and start executing your binary with

    LD=/my/old/library ./myoodbinary

    and have it dynamically loaded at runtime.

    The only time this doesn't work is when it is something in the kernel that breaks the binary... But you can run an older kernel that has back ported fixed.

    I get where you are coming from with proprietary binarys that the devs have abandon. But to me that makes all the more reason not to run that software in the first place.

    Edit: also the kobo desktop Windows app runs under wine I think...

    [–] Sekoia@lemmy.blahaj.zone 2 points 2 years ago

    It... sorta runs. It's a pretty badly designed program on its own (I think it runs some web stuff, but its not electron). It looks terrible on wine, some menus are broken, syncing doesn't work, etc. In the end I just installed it on windows (which I have for VR) and then literally never used it again (calibre-web is great)

    [–] heird@lemmy.ml 6 points 2 years ago (2 children)

    Try running a new binary on Linux

    You'll need a library that your distro doesn't have up to date so you had to edit your apt list and then that library won't load because it needs some other library that didn't get updated to work with your architecture for some reason so you have to compile it yourself

    [–] danielton@lemmy.world 2 points 2 years ago

    The lack of binary compatibility is one of many things holding Linux back from mainstream adoption. Some say this is a good thing, but the reality is that not everything is open-source.

    [–] starman@programming.dev 1 points 2 years ago

    Try a rolling release distro

    [–] finkrat@lemmy.world 4 points 2 years ago

    Appimages solve for this, but are underutilized

    [–] cley_faye@lemmy.world 2 points 2 years ago

    I was able to run the binary from a project I made in engineering school 10 years ago on a recent Ubuntu system, and all I had to do was make the freeglut library available.

    [–] s_s@lemm.ee 1 points 2 years ago (1 children)

    Do I need to if I can recompile?

    [–] danielton@lemmy.world 2 points 2 years ago* (last edited 2 years ago)

    Not everything is open-source.