delorie.com/archives/browse.cgi | search |
X-Spam-Check-By: | sourceware.org |
From: | "Dave Korn" <dave DOT korn AT artimi DOT com> |
To: | <cygwin AT cygwin DOT com> |
Subject: | RE: G77, libg2c and a linking problem |
Date: | Fri, 15 Sep 2006 16:44:02 +0100 |
Message-ID: | <005601c6d8dd$c4a41ee0$a501a8c0@CAM.ARTIMI.COM> |
MIME-Version: | 1.0 |
X-Mailer: | Microsoft Office Outlook 11 |
In-Reply-To: | <Pine.OSF.4.21.0609151452050.12729-100000@ax0rm1.roma1.infn.it> |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Unsubscribe: | <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
On 15 September 2006 14:05, Angelo Graziosi wrote: >> program hello >> implicit none >> write(*,*) 'Hello!' >> end >> $ g77 hello.F -o hello -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -lg2c >> /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libcygwin.a(libcmain.o):(.text+0xab ): >> undefined reference to `_WinMain AT 16' >> collect2: ld returned 1 exit status > 1) adding -s at the end works > $ g77 hello.F -o hello -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -lg2c -s > 2) but after hello.F, doesn't > > $ g77 hello.F -s -o hello -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -lg2c > /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libcygwin.a(libcmain.o):(.text+0xab ): > undefined reference to `_WinMain AT 16' > collect2: ld returned 1 exit status > 3) moving '-o hello' at the end works > > $ g77 hello.F -s -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -lg2c -o hello > 4) also moving -s works > > $ g77 hello.F -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -lg2c -s -o hello > 5) or removing it > > $ g77 hello.F -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -lg2c -o hello This is probably a consequence of that packaging error that you noticed: http://www.cygwin.com/ml/cygwin/2006-07/msg00619.html The problem (I suspect but have not yet proven) is that the g77 driver gets all the libs and objects in the correct order on the commandline, and tagging one on the end with -L/-l doesn't work because it's in the wrong place. Using your hello world testcase, I found that g77 hello.F -o hello "just works". You don't mention that you've tried this but I assume you did and it didn't work. So please try the fix I suggested in http://www.cygwin.com/ml/cygwin/2006-07/msg00620.html which moves the libs to the place where the compiler expects to find them, and means you don't need to worry about manually trying to add the library into the correct place on the command line. I expect that this should resolve the problem for you. cheers, DaveK -- Can't think of a witty .sigline today.... -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |