This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: 2.95.2 missing files?
- To: dgreer at fedex dot com
- Subject: Re: 2.95.2 missing files?
- From: John Wehle <john at feith dot com>
- Date: Fri, 17 Mar 2000 22:08:17 -0500 (EST)
- Cc: gcc at gcc dot gnu dot org
> All I really needed to hear was that there was someone out there that had
> used this version of the compiler with sockets on a 2.5.1 system.
I use it with C, C++, and sockets on several different platforms including
Solaris 2.5.1 x86 and SPARC. No problems.
> It just seems to make sense to me for a new compiler to come complete with
> all the standard header files, if for no other reason than that the ones
> present may be incompatible or corrupted in some way.
A compiler merely acts as a translator from a human understandable form to
a machine understandable form. It knows surprisingly little about what
it's translating. Consider:
main () { fred(1, 2, 3); }
The compiler will produce code for calling fred with the supplied arguments
according to the ABI in question. However it hasn't a clue what fred does.
What the various functions such as fred, recv, send, select, socket, etc.
do is defined by the operating system / libraries and you'll find that
different operating systems / libraries define them (even so called standard
functions such as those pertaining to sockets) differently.
> I guess I expected installing a new compiler on a UNIX system would
> work the same way rather than relying on previously installed files.
Nope. It's very difficult for a compiler to supply headers and libraries
since what they mean and how they work is outside of the compiler vendor's
control and forever changing.
BTW, during installation GCC makes a private copy of the headers which are
part of the operating system and then mucks the copy in order to fix various
known problems. When you compile a program with GCC it will use the private
(fixed) version of a header instead of what's in /usr/include. These private
headers are (of course) GCC and operating system specific. A problem
sometimes occurs when GCC mucks the header due to a buggy version of sed or
various other utilities which GCC uses. Another problem occurs when you
build GCC on a network mounted drive on one operating system and then
try to use it on a different operating system. A third problem occurs when
you (or your local administrator) applies an operating system patch (or
update) after installing GCC.
-- John
-------------------------------------------------------------------------
| Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com |
| John Wehle | Fax: 1-215-540-5495 | |
-------------------------------------------------------------------------