Why are Linux programs available only in source?
When I go to sites like kde-apps.org or gtk-apps.org i often times find that lots of programs there are available only in source code? Why? Why is it so hard for the developer to compile the package or to make that .deb or .rpm package? I'm sure it's easier for the developer to compile his own program than for a linux user... i don't get this.. why does everything come in source code?
|
First of all, not everyone uses deb or rpm package systems and source code is universal can usually be compiled on almost any (supported) platform.
Secondly, by compiling from source, the packages is tailored to your system/hardware, etc. thirdly, providing binary packages (deb/rpm) takes away your freedom to enable/disable some functions of the program. By default the most common functions are enabled, however, depending on your system/needs you may slim it down disabling some functionalities or add some additional ones. You can see the list of available options by issuing ./configure --help Compiling is not that difficult. If you don't want to customise your package, in most cases the following will suffice: Quote:
|
yes and no, there are so many distributions out there with their own package format as well as so many versions of those distributions still in operation that it would be quite a bit of work to compile them for all of them, even for just the most common ones, it is much simpler to simply create a configure script and a makefile and let the person installing it do the compiling themselves to ensure the greatest compatibility, not to mention, provided the necessary libraries and header files are present on the machine the source code can be compiled on almost any *nix like operating system, including bsd, OSX, other UNIXes etc.. in short a source release is more flexible.
|
Say, you have Ubuntu 10.04 Lucid.
Available packages = about 30,000. Not often any reason to compile anything. .. |
sycamorex, that almost never works.. it didn't for this wordplay game...
Quote:
Quote:
|
Probably the reason that it never works for you is that you never read the INSTALL/README files included with the sources. Is this the case?:)
Wordplay compiles nicely on my system. The INSTALL file says: Quote:
|
apt-get install wordplay ?
|
sycamorex, i do have GTK and also GDK i guess but there i just no such file configure there...
Quote:
|
As the INSTALL file states, you don't need to issue ./configure in this case. The Make file is ready. You can just customise some flags by editing the Makefile file.
In this case however, there's not much to customise. ./configure make && make install They are just generic instructions. Always read the INSTALL / README files to follow the install instructions. You say you guess that you've got gdk-pixbuf. You need to doublecheck it. Without all necessary dependencies, it won't compile. |
ok i didn't have it but anyway..
Usually if you compile a program it will work on almost every distro out there... and most of the time it will be enough for the end user.. no? |
Quote:
Generally, your first source of packages should be your distro's repository. You'll grab the source code only if: 1. It's not in the distro repository 2. You want to enable some extra functionality. With the number of packages in Ubuntu repositories, an *average* Ubuntu user (from your bash prompt I assume you use Ubuntu) will rarely (if never) need to install anything from the source code. |
About wordplay :
http://archive.ubuntu.com/ubuntu/poo...22.orig.tar.gz cd wordplay-7.22.orig/ patch -p1 < wordplay_7.22-1.diff make CC=gcc-3.3 I.e. the file wordplay.c is from 1996. You can get gcc-3.3 from e.g. Ubuntu Hardy. http://packages.ubuntu.com/hardy-updates/gcc-3.3 .. |
Quote:
I note that the distributions you're listed as using (Ubuntu and OpenSuse) are, by default, tailored towards not requiring the end user to compile their own software. As a couple of people have mentioned, with these two distros, it's probably best if you install the binary packages supplied by the distributor. In order to be able to compile software, your OS has to have an environment designed with the goal of enabling the end user to do so. Slackware is one such distro. In fact, (and I might be going out on a limb here), I think that Slackware has the best "out-of-the-box" environment for compiling stuff. I've seen only a handful of failures over the 11 years I've been using Slackware, and none for at least 5 of those years. So far I've built 106 packages for Slackware 13.1 with no failures. Ubuntu and OpenSuse can be customised to compile software as easily as Slackware, but you need to add some of the "*-devel" packages. I'm not sure which ones, because I haven't tested either of these distros over the past couple of years. HTH |
All times are GMT -5. The time now is 02:51 AM. |