I suspect this may be because gcc has managed to pick up the Cygwin ld instead of the mingw one. Monique - what exactly is your PATH? What happens when you say 'ld --version'?

'ld --version'  doesn't show differences between mingw/cygwin, does it?

and even the mingw ld apparently sets its search_dirs without drive letters:

   $ type -ap ld
   /cygdrive/c/MinGW/bin/ld

   $ ld --verbose | head
   GNU ld version 2.16.91 20050827
     Supported emulations:
      i386pe
   using internal linker script:
   ==================================================
   /* Default linker script, for normal executables */
   OUTPUT_FORMAT(pei-i386)
SEARCH_DIR("/mingw/mingw32/lib"); SEARCH_DIR("/mingw/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
   ENTRY(_mainCRTStartup)
   SECTIONS

and, even under a cygwin bash calling a mingw ld, this won't work if we're not
on the drive on which /mingw was installed:

   $ pwd
   /cygdrive/d

   $ ld /mingw/lib/crt2.o -M | grep OUTPUT
   c:\MinGW\bin\ld.exe: /mingw/lib/crt2.o: No such file: No such file or 
directory

whereas:

   $ cd c:

   $ ld /mingw/lib/crt2.o -M | grep OUTPUT
   ..
   OUTPUT(a.exe pei-i386)

claus

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to