Hello, I’m a bit new to advanced linux and programming stuffs… Can someone explain me why compiling exists and what this process does and how to do it in the principals situations (I’ve heard that you can use the “makepkg” command). Thx to everyone who replied.

  • velox_vulnus
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    edit-2
    2 months ago

    Compiling is when you convert your human-readable programming language to binary machine code.

    makepkg is an Arch-exclusive command that ensures that your apps are built properly in any other Arch-based devices. Usually, all packages are compiled on a powerful machine in some server, and you just have to download the binaries.

    But in some cases, they don’t compile apps, or, their process may have delayed, so you can manually compile those apps on your device - that is called building from the source. From what I know, you can’t run makepkg on other Linuces (can we? I’ve never used Arch in depth).

    About .deb and .rpm, those are a type of packaging format - in reality, they’re just archives. Think of them as .exe and .msi equivalents. It contains the pre-built app, as well as the repository link, which makes it convenient if you want to upgrade that app in the future.

    • foremanguyOP
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      humm… ok, and for example when you have the binaries of a file you have to compile it a last time, no? That’s my experience with aur, when you get the bin, you have to makepkg a other time

      • f00f/eris@startrek.website
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 months ago

        In that case makepkg isn’t compiling anything, it’s just packaging the existing binaries so that they can be more easily installed and recognized by your package manager.

        • foremanguyOP
          link
          fedilink
          arrow-up
          2
          ·
          2 months ago

          like linking all the files and make a clean package? So makepkg does everything from the start to end of the compiling process

          • f00f/eris@startrek.website
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 months ago

            Yeah, basically. makepkg automates the process of creating an Arch package, and while usually that involves compiling source code, sometimes it just means converting proprietary software that has already been compiled into a different format.

      • lemmyreader
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 months ago

        The Arch Linux makepkg is a bash script with description

        make packages compatible for use with pacman

        Some packages of AUR are not about compiling but fetching the binary (sometimes converting it from deb) and then prepare it for you so you can install it. So when you use AUR to install a binary package instead of compiling there is really no compiling involved afair.