Re: GNU gcc upgrades
"Daniel C. von Asmuth" <asmuth-8LkvcxCLB6JmR6Xm/[email protected]>
| Newsgroups | gmane.linux.usability.annoyances |
|---|---|
| Message-ID | <[email protected]> |
Thus quoth John on Sat, Sep 27, 2003 at 08:37:22AM +1000: > On 26 Sep 2003 at 23:15, Daniel C. von Asmuth wrote: > > > Thus quoth Jacq, John on Wed, Sep 24, 2003 at 08:05:41AM +1000: > > > > > > It is a bit of a pain for me as well, especially the dynamic libraries. The static ones are simple enough. It got worse when the new glibc2 game out as while I understood the numbering system prior to that, up to libc.5.x I suddenly wasn't so sure anymore. So I simply took the coward's way out, backed up everything personal as tar.gz files to zip disks and reinstalled a brand new Linux version. Then I reinstalled my personal stuff, which was fine except for compiling. > > > > > This implies the problem is with glibc rather than gcc (not that this is > > very helpful). > > I fail to make the distinction between the two, both seem to be closely > entertwined and both come from GNU. The C compiler converts a source file written in the C programming language into an object module. It (supposedly) adheres to standards like C99. The compiler may call the linker which links your object module against the C library and other libraries to produce an executable program. In a book like Kernighan & Ritchie you will also find a description of which functions the C programming language requires to be present in the standard C library. The Unix kernel is traditionally a monolithic program. It exposes an API to user-space programs by means of system calls. (occasionally, you get to access kernel memory directly). The C and other core Unix libaries are the main API the programmer uses. (some library functions are also available on MS Windows) A host of standards (like Posix and XPG) cover Unix. The GNU C library implements most of the required functions acceptably well, but has a number of non-standard functions. (GNU means GNU's Not Unix for a reason). The result is that programs written for GNU are often a major annoyance for users of other (Unix-like) Operating Systems. The best thing you can do is to test your work on a variety of OSes early on, and code to the lowest common denominator (which of course means that you must never use any kind of GUI, because every OS clan has its own graphics library, incompatible with the Unix family). Kind regards, Daniel von Asmuth -- wat heb je nodig bij een uitzichtloos leven? euthanasie? nee, windows. van microsoft? nee, van glas.