• Ephera@lemmy.ml
      link
      fedilink
      arrow-up
      8
      ·
      5 months ago

      So, like, dumb question. People here assumed that I mean AppImages, whereas I actually meant just a statically linked binary. Is that really the only reason why AppImage exists? So, that dynamically linked applications can be distributed like statically linked ones?

      • ryannathans@aussie.zone
        link
        fedilink
        arrow-up
        9
        ·
        5 months ago

        You cannot statically link everything. Take graphics libraries and APIs for example, do you statically link against nvidia’s or mesa’s opengl?

        • Ephera@lemmy.ml
          link
          fedilink
          arrow-up
          3
          arrow-down
          1
          ·
          5 months ago

          Sure, but presumably AppImage/Flatpak/Docker cannot help with that either…?

          • henfredemars@infosec.pub
            link
            fedilink
            English
            arrow-up
            3
            ·
            5 months ago

            This is the problem those tools try to solve. They package everything else upon which software might depend that can’t simply be linked into a single binary.

          • ryannathans@aussie.zone
            link
            fedilink
            arrow-up
            3
            ·
            4 months ago

            Flatpak solves the problem with targetable platform versions, you just update the manifest for your app every like 6-12 months to target the new one

            • Ephera@lemmy.ml
              link
              fedilink
              arrow-up
              1
              ·
              4 months ago

              Ah, interesting. So, it’s different from just statically linking against the latest driver lib every 6-12 months, because the Flatpak runtime gives you a bit of a guarantee that there won’t be breaking changes in the meantime.

              • ryannathans@aussie.zone
                link
                fedilink
                arrow-up
                2
                ·
                edit-2
                4 months ago

                Bingo, and if the latest mesa breaks your app for example, you can target an older one until it’s fixed instead of end users having to fuck around downgrading system packages

      • Ananace@lemmy.ananace.dev
        link
        fedilink
        arrow-up
        6
        ·
        5 months ago

        The majority of AppImages I’ve seen have been dynamically linked, yes. But it’s also used for packaging assets.

        • Ephera@lemmy.ml
          link
          fedilink
          arrow-up
          3
          ·
          5 months ago

          Yeah, alright, packaging assets makes sense. I’ve always been fine with just a .tar.gz, but having it be a singular file without compression is cool.

          I guess, since AppImage emulates a filesystem, you can also have your application logic load the assets from the same path as if the assets were installed on the OS, so that’s also cool.

      • ryannathans@aussie.zone
        link
        fedilink
        arrow-up
        2
        ·
        5 months ago

        You cannot statically link everything. Take graphics libraries and APIs for example, do you statically link against nvidia’s or mesa’s opengl?