info@edoc.co.za wrote:
Hi,
could somebody please translate the glibc debate so a newbie could also understand it?
What is this glibc?
Thanks
Nico
PS: The more I have to do with Linux, the more I realise that it is a system developed by computer junkies to confuse everybody else :-))
I'm not a day-to-day programmer, but I have gotten a view of the big picture, so keep that in mind. I may be off in some of the details. Linux is a very straight forward system, if you understand how the kernel works, and a bit of assembly and C programming. The confusion arises from it being such an "open system" that everyone is trying to develope their own "best way" of doing things. So we get alot of window managers, etc. This is confusing. Contrast this with Microsoft's method of dictating one standard for everyone to follow, and we see where that is leading. As far as glibc goes: First the libs are like the dlls of windows. When you write a program, why reinvent the wheel everytime you want to get keyboard input, write to screen, do disk read/writes, or manipulate variables? Some standard routines have been developed, and are called libc, for the "c" library. Well the libc we are using now, was written back in the days of 486 computers. It works, and is reliable, just like your old 486. But the programmers needed to optimize the code for the newer processors, and programming functions. So "Gnu"libc or glibc has evolved. And there are new "dll's" or glibc libraries out there. It is similar in Windows, as Vb programmers had to get users to keep upgrading from vb300.dll to vb600.dll. And MS Visual C programmers had to keep upgrading the msvc##.dll's. So now the new programs are being written with the new programming software, and they require the glibc libraries instead of the libc libraries. And glibc will continue to evolve to more advanced levels. The problem is the commands used in loading the libraries are very close, and if you try to put glibc onto a libc system, without keeping them separated, bad mismatches occur. So with Suse, which is based on libc, we can install the "user-end" glibc libraries, and run programs which require them. BUT, we can't compile source code with glibc, (unless you use some tricky command line switches). Suse 6 will be based on glibc, and then these problems will disappear. Then everyone will probably be asking questions on how to get their older libc packages to compile. heh,heh. Their is a new compiler out called EGCS, which will eventually replace gcc. EGCS is setup to compile effectively for pentium and higher processors; while gcc is optimized for 486's. Finally, you might ask "why not just get rid of libraries, and include all neccessary code in each program?" That would work, but all programs would "bloat up" to 10 or 20 megabytes. So libraries are the best way to go. - To get out of this list, please send email to majordomo@suse.com with this text in its body: unsubscribe suse-linux-e