2

The Windows desktop proprietary softwares I see are usually distributed as statically compiled binary only files, possibly with some dlls, and the needed data files bundled in a package unpacked in a Program Files folder. This is possible because the Windows application developers know that their users will all have a computer with an x86_64 CPU from Intel of AMD with a Windows XP or higher OS installed, which will run their Visual-Studio-compiled binaries without complaining.

So, can I expect something similar in the Unix world? I often find the "compile yourself" way of program distribution inconvenient for simple purposes. Say, I want to ask a friend to test my program for a Linux machine. Apart from whether or not they have a Linux computer, I don't want to ask them to install all, possibly 10 or more, dependencies. A distro with a decent package manager will do this job quite simply, but not all versions of Linux have a good package manager. Also, when it comes to running "make install" manually, it is often nearly impossible to uninstall.

Is it generally possible in Linux to distribute a software binary-only expecting that it will run nicely at least in computers with an x86_64 CPU and a Linux OS installed? For example, distributing as a zip folder with which the user can simply unzip and double-click "start" or type "./start".

closed as too broad by Braiam, Ramesh, slm Nov 7 '14 at 2:44

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Unix and Linux are different things, not all Unix and Linux exes have comatability, i don't know about Linux (which was your actual question, but you said "Unix world"). – DisplayName Nov 6 '14 at 22:15
  • 2
    "Are Linux Executables Compatible through All (x86_64) Linux Systems?" No. – Michael Homer Nov 6 '14 at 22:16
2

Yes, if you build with the exact compiler and library versions specified by the Linux Standards Base. Hardly anybody does this because it means restricting yourself to libraries several years old, and even then you only get a handful of basic system libraries and you still have to bundle a lot of dependencies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.