From: khan AT xraylith DOT wisc DOT edu (Mumit Khan) Subject: egcs collect2/ld bug update 31 Dec 1997 07:18:31 -0800 Message-ID: <9712311458.AA25998.cygnus.gnu-win32@modi.xraylith.wisc.edu> To: gnu-win32 AT cygnus DOT com I'm beginning to sound like a broken record ;-) Looks like collect2 (which is needed for C++ -frepo option, and that's why I had it in the egcs distribution) is rather hosed due to various problems. The best thing to do for now is to simply delete (or rename) the collect2 executable. You gain a functional system, but you lose -frepo. $ cd /H-i386-cygwin32/lib/gcc-lib/i386-cygwin32/egcs-2.90.21 $ mv ld.exe ld-orig.exe I suggest this for mingw32 users as well just to be consistent with the cygwin32 distribution. $ cd /lib/gcc-lib/i386-mingw32/egcs-2.90.21 $ mv ld.exe ld-orig.exe If you're building from source, please add the following line: USE_COLLECT2= to egcs/gcc/config/i386/x-cygwin32. In case you're curious what the problem really is, here's a recap: 1. Bug in fork/exec + freopen in winsup, where the child choses stderr. Collect2 uses this to collect error messages from linker, and that's why you don't see 'undefined references to xxx' messages when using collect2. 2. Bug in pathname handling. That's why you need the collect-ld.exe. Thanks to all of you for your informative bug reports and your patience. Happy New Year to all Mumit - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".