This can also occur when you don't compile the program correctly. The first response is correct: there is no main function inside the program crt1.o. However, if crt1 is never meant to be a "program" (examples would be an object file or library.), then you are fine and can ignore the message.
For example, let's say I am creating an object file (sometimes can be referred to as a library). The object file contains popular functions that many of my other programs use (let's say the object file is called: my_math_routines). In my_math_routines source code I would have functions like "Add" , "Subtract", etc.. my_math_routines will never run as a stand-alone program (by itself). However, other programs will call some of these functions (e.g. myprogram.c). Therefor what I would do is the following: 1) Compile my_math_routines.c into an object file (make math_routines.o) 2) Compile myprogram.c and link in my_math_routines.o If in step 1 I did a "make math_routines" (notice how I left out the ".o"), it would actually try to create a standalone program called "my_math_routines". However, since this program does not have a "main" function (as stated in the e-mail below), I would receive the error you saw (main not defined in....). However, I know that that message is OK since I don't want a "math_routines" program (just a mistake in my part when I ran the "make" command in step 1. Hope this is not too confusing and somewhat helpful. -Jim ------------------------------ Message: 8 From: mark <[EMAIL PROTECTED]> Organization: 24.5 Century Productions, unLtd. To: [EMAIL PROTECTED] Subject: Re: A c programming question? Date: Wed, 30 Jul 2003 09:16:57 -0400 Reply-To: [EMAIL PROTECTED] On Wednesday 30 July 2003 06:00 am, > From: reza saeidinia <[EMAIL PROTECTED]> > whats the following messages mean: > /usr/lib/gcc-lib/i386-redhat-linux/2.96/crt1.o In function ''_start': > /usr/lib/gcc-lib/i386-redhat-linux/2.96/crt1.o(.text+ox18):undefined > refrence to 'main' thank you. That you're trying to compile a program that has no function named main. Try reading the book (any book, though I prefer K&R), and you'll see that every executable C program *REQUIRES* that the top, first function that is executed when the program runs, and which runs everything else, be named main. RTFM mark -- redhat-list mailing list unsubscribe mailto:[EMAIL PROTECTED] https://www.redhat.com/mailman/listinfo/redhat-list