public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* gcc linking problem - badly installed?
@ 2001-08-14  9:57 Astrid Burghard
  2001-08-14 10:23 ` Larry Hall (RFK Partners, Inc)
  2001-08-14 12:33 ` Tim Prince
  0 siblings, 2 replies; 7+ messages in thread
From: Astrid Burghard @ 2001-08-14  9:57 UTC (permalink / raw)
  To: cygwin

Hi,

I am new to this list, so please excuse me and
give me a hint if this topic was treated here
before.

I tried some simple C and F77 "hello world"
programmes to get compiled and linked by "gcc"
and "gcc -c" + "ld".  The .o was created by
"gcc -c" without error message, but both direct
executable creation with "gcc" and linking the
.o by "ld" failed, giving different error
messages.  The .log I appenden at the bottom of
the email.  Does anyone have an idea what is
going wrong?

Thanks in advance

Enno.

------------------ start of log ----------------------------------------
+ cat test_c.c
/*---------------- test_c.c ---------- start -------------------------*/
#include <stdio.h>
main()
  {
	printf( "%s\n", "Hello world!" );
  }
/*---------------- test_c.c ---------- end ---------------------------*/
+ gcc test_c.o
/PROGS/CYGWIN/USR/BIN/ld: cannot open crt0.o: No such file or directory
collect2: ld returned 1 exit status
+ gcc -c test_c.c
+ ld test_c.o
ld: warning: cannot find entry symbol _mainCRTStartup; defaulting to 00401000
test_c.o(.text+0x1b):test_c.c: undefined reference to `__main'
test_c.o(.text+0x2d):test_c.c: undefined reference to `printf'
+ cat test_f.f
*----------------- test_f.f ---------- start ---------------------------
      program testf
	  print*, 'Hello world!'
	  end
*----------------- test_f.f ---------- end -----------------------------
+ gcc test_f.o
/PROGS/CYGWIN/USR/BIN/ld: cannot open crt0.o: No such file or directory
collect2: ld returned 1 exit status
+ gcc -c test_f.f
+ ld test_f.o
ld: warning: cannot find entry symbol _mainCRTStartup; defaulting to 00401000
test_f.o(.text+0x23):test_f.f: undefined reference to `s_wsle'
test_f.o(.text+0x3c):test_f.f: undefined reference to `do_lio'
test_f.o(.text+0x44):test_f.f: undefined reference to `e_wsle'
test_f.o(.text+0x53):test_f.f: undefined reference to `s_stop'



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: gcc linking problem - badly installed?
@ 2001-08-16  6:32 Eric Moyer
  2001-08-16  6:40 ` Christopher Faylor
  0 siblings, 1 reply; 7+ messages in thread
From: Eric Moyer @ 2001-08-16  6:32 UTC (permalink / raw)
  To: cygwin

First, a restatement of your problem:

ld and gcc fail at linking .o files.
Particularly for hello world.

------ Excerpt from log -------
+ gcc test_c.o
/PROGS/CYGWIN/USR/BIN/ld: cannot open crt0.o: No such file or directory
collect2: ld returned 1 exit status
+ gcc -c test_c.c
+ ld test_c.o
ld: warning: cannot find entry symbol _mainCRTStartup; defaulting to
00401000
test_c.o(.text+0x1b):test_c.c: undefined reference to `__main'
test_c.o(.text+0x2d):test_c.c: undefined reference to `printf'

------ End excerpt from log -------


**** Potential solution Part 1:
I had a similar problem last week with the linker because I did not have
the right libraries installed.  The minimum packages needed to run GCC
(and g77) are:

 2646 binutils
  775 cygwin
 3455 gcc
  626 w32api

For an extra meg, download:
   34 ash
  564 bash
  406 fileutils
  236 make

(the numbers are the compressed file sizes)

(Re)installing these packages into the same base cygwin directory will
ensure that you have the correct files in /lib

**** Potential Solution Part 2:
But this may not solve your problem completely.  Though I have been
successfully compiling and running programs for a week now.  ld also
fails on my machine when executed as you specify.  gcc also gives similar
errors when executed.  Part of your problem is that you are calling the
linker without including the necessary system startup files.

The following invocation of ld works for me:
$ ld -o test_c.exe /lib/crt0.o test_c.o -lc -lkernel32


--Eric

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2001-08-19 13:42 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-14  9:57 gcc linking problem - badly installed? Astrid Burghard
2001-08-14 10:23 ` Larry Hall (RFK Partners, Inc)
2001-08-14 12:33 ` Tim Prince
2001-08-19  2:14   ` Astrid Burghard
2001-08-19 13:42     ` Christopher Faylor
2001-08-16  6:32 Eric Moyer
2001-08-16  6:40 ` Christopher Faylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).