LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   Libraries (https://www.linuxquestions.org/questions/linux-general-1/libraries-530772/)

gloomz 02-20-2007 12:31 PM

Libraries
 
I'm wondering... I often find that the few major differences between a microsoft desktop computer and a linux desktop are the libraries.

With microsoft you don't need to install extra dll's or w/e. You just double click on the setup and away you go.

If only it were that easy with Linux.

Since apt-get doesn't always have all the libraries, you get to go library hunting! (yeah :( )

Oh guess what, you managed to find that library and install it? Guess what. You need a dozen more. And so the cycle continues.

I wonder, how much space would it take up for ALL the libraries to come pre installed on the system?

SciYro 02-20-2007 12:40 PM

The real question would be, why would you want all the libraries? Some are not exactly good for your system.

Anyways, Windows has a much bigger problem with DLL's, which is why you don't see library problems, each program contains all the libraries within itself. This is because DLL's are implemented crappily on Windows, forcing applications to find ways around it, rather then make use of it.

In any case, with Gentoo, i have never had to go hunting, it has by far the best package manager around, if only the packages it contains where actually stable and as well tested as those that other distributions use.

Anyways, i would say about 1 gig should be enough for pretty much all the libraries, but talk about wasted space. Also note: binary distros often need to include several versions of the same library, this is related to the ABI differences in different versions of a library, even if the API is compatible. So i really don't want to imagine how much space it would need, or even what it would look like.

waelaltaqi 02-20-2007 01:56 PM

One of the reasons that linux is a powerful OS is that it let's you choose the pieces of software you want to install. With windows you're pretty much stuck with what the dummy wizard is trying to tell you. With Linux, Common used libraries can be installed with the operating system. other's like the ones under development or the ones that are not heavily used don't need to be installed unless they are required by other software.
Source codes, RPM packages, Debian or slakcware packages usually come with documentation what will list library requirement if any is needed.
I'm not an expert on this subject and i had many problems before but it makes sense for a programmer not to write his own library if there is one already ready to use available...

Why doesn't Linux come with all libraries for everything? because you wouldn't like for you installation to be 8 GB instead of 2 or 3 ... and for the simple fact that Linux works this way: No software is installed unless it's needed !

gloomz 02-20-2007 02:21 PM

But doesn't the dependency issues bug you?

Even if windows is crappy, it still works out of the box with dll's pretty much.

I would at least include all of the stable typical libraries that are being used.

I wouldn't include obscure libraries or whatever.

But at least it should have the majority of libraries.

SciYro 02-20-2007 02:53 PM

Just compile everything to be static, instant Windows on *nix, or get some distribution to compile everything static. Pretty much every binary released for Linux is statically compiled to avoid nasty libraries.

gloomz 02-20-2007 03:05 PM

what does statically compiled mean? Does it include the libraries when you install it?

Cause that would be nice.

But if it's not available in apt-get good luck

SciYro 02-20-2007 03:33 PM

Yes, statically compiled binaries do not need external libraries, everything is included in them. By default, they are considered evil in *nix because of a good library implementation, and they consume more resources (in terms of disk space) with little advantage.

waelaltaqi 02-20-2007 03:48 PM

Compilation is the process of converting a software source code to machine code that your computer can understand. To compile source code, you need to have compiler to convert the source code to a machine code. A programer will write his/her software using a certain programing language and a compiler is used to convert the high level programming language to a low level machine code. My knowledge on this subject is very limited but this is the way i understood it.
Technically, you need a compiler installed to compile source code. most Linux distros come with compilers preintalled. Usually the source code will include INSTALL or README file that will explain who to compile...


All times are GMT -5. The time now is 04:07 PM.