Linker errors when using FFI on Windows

I'm trying to link an FFI program against a Windows (XP) DLL (c:\windows\system32\ntwdblib - this is the MS Sql Server client library). The output from ghc6.4 -v is below; the errors start in the Linker section. Comments: - Where do these objects d0000xx.o come from? (They're not in my source...) d000013.o(.text+0x0): multiple definition of `_onexit' c:/ghc/ghc-6.4/gcc-lib/crt2.o(.text+0x2a0):crt1.c: first defined here d000018.o(.text+0x0): multiple definition of `atexit' c:/ghc/ghc-6.4/gcc-lib/crt2.o(.text+0x280):crt1.c: first defined here - Have I omitted some important linker flag? There are tons of these undefined references from crt2.o, like this: c:/ghc/ghc-6.4/gcc-lib/crt2.o(.text+0x238):crt1.c: undefined reference to `ExitProcess@4' Thanks, Alistair. -------------------------- ghc -v -Wall -keep-hc-file -ddump-hi "-Lc:\windows\system32" -lntwdblib "-IC:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Include" -odir ..\out -hidir ..\out -o takusen --make Main Glasgow Haskell Compiler, Version 6.4, for Haskell 98, compiled by GHC version 6.2.2 Using package config file: c:\ghc\ghc-6.4\package.conf Hsc static flags: -static *** Chasing dependencies: Chasing modules from: Main *** Literate pre-processor c:\ghc\ghc-6.4\unlit.exe -h Main.lhs Main.lhs C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.lpp *** Literate pre-processor c:\ghc\ghc-6.4\unlit.exe -h ./Database/MSSqlServer/Test/MSSqlFunctions.lhs .\Database\MSSqlServer\Test\MSSqlFunctions.lhs C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1017.lpp *** Literate pre-processor c:\ghc\ghc-6.4\unlit.exe -h ./Database/MSSqlServer/MSSqlFunctions.lhs .\Database\MSSqlServer\MSSqlFunctions.lhs C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1018.lpp Stable modules: *** Compiling Database.MSSqlServer.MSSqlFunctions ( ./Database/MSSqlServer/MSSqlFunctions.lhs, ..\out/Database/MSSqlServer/MSSqlFunctions.o ): compile: input file C:/DOCUME~1/bayleya/LOCALS~1/Temp/ghc1018.lpp *** Checking old interface for Database.MSSqlServer.MSSqlFunctions: Compiling Database.MSSqlServer.MSSqlFunctions ( ./Database/MSSqlServer/MSSqlFunctions.lhs, ..\out/Database/MSSqlServer/MSSqlFunctions.o ) *** Parser: *** Renamer/typechecker: ./Database/MSSqlServer/MSSqlFunctions.lhs:97:14: Warning: Defined but not used: `sess' ./Database/MSSqlServer/MSSqlFunctions.lhs:97:19: Warning: Defined but not used: `severity' ./Database/MSSqlServer/MSSqlFunctions.lhs:97:34: Warning: Defined but not used: `oserr' ./Database/MSSqlServer/MSSqlFunctions.lhs:97:49: Warning: Defined but not used: `oserrstr' ./Database/MSSqlServer/MSSqlFunctions.lhs:103:14: Warning: Defined but not used: `sess' ./Database/MSSqlServer/MSSqlFunctions.lhs:103:19: Warning: Defined but not used: `msgno' ./Database/MSSqlServer/MSSqlFunctions.lhs:103:25: Warning: Defined but not used: `msgstate' ./Database/MSSqlServer/MSSqlFunctions.lhs:103:34: Warning: Defined but not used: `severity' ./Database/MSSqlServer/MSSqlFunctions.lhs:103:51: Warning: Defined but not used: `srvname' ./Database/MSSqlServer/MSSqlFunctions.lhs:103:59: Warning: Defined but not used: `procname' ./Database/MSSqlServer/MSSqlFunctions.lhs:103:68: Warning: Defined but not used: `line' *** Desugar: Result size = 973 *** Simplify: Result size = 1273 Result size = 1145 Result size = 1145 *** Tidy Core: Result size = 1145 *** CorePrep: Result size = 1353 *** Stg2Stg: *** CodeGen: *** CodeOutput: *** C Compiler c:\ghc\ghc-6.4\gcc -Bc:\ghc\ghc-6.4\gcc-lib/ .\Database\MSSqlServer\MSSqlFunctions_stub.c -o C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.s -DDONT_WANT_WIN32_DLL_SUPPORT -v -S -Wimplicit -O -D__GLASGOW_HASKELL__=604 -DDBNTWIN32 -ffloat-store -I ./Database/MSSqlServer -I C:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Include -I c:/ghc/ghc-6.4/include -I c:/ghc/ghc-6.4/include/mingw Reading specs from c:/ghc/ghc-6.4/gcc-lib/specs Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c++,f77,objc --disable-win32-registry --disable-shared --enable-sjlj-exceptions Thread model: win32 gcc version 3.2.3 (mingw special 20030504-1) c:\ghc\ghc-6.4\gcc-lib\cc1.exe -lang-c -v -I ./Database/MSSqlServer -I C:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Include -I c:/ghc/ghc-6.4/include -I c:/ghc/ghc-6.4/include/mingw -iprefix c:\ghc\ghc-6.4\../lib/gcc-lib/mingw32/3.2.3/ -isystem c:/ghc/ghc-6.4/gcc-lib/include -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=3 -D__GXX_ABI_VERSION=102 -D_WIN32 -D__WIN32 -D__WIN32__ -DWIN32 -D__MINGW32__ -D__MSVCRT__ -DWINNT -D_X86_=1 -D_WIN32 -D__WIN32 -D__WIN32__ -D__WIN32__ -D__MINGW32__ -D__MSVCRT__ -D__WINNT__ -D_X86_=1 -D__WIN32 -D__WINNT -Asystem=winnt -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i586__ -D__tune_pentium__ -D__stdcall=__attribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D__fastcall=__attribute__((__fastcall__)) -D_stdcall=__attribute__((__stdcall__)) -D_cdecl=__attribute__((__cdecl__)) -D_fastcall=__attribute__((__fastcall__)) -D__declspec(x)=__attribute__((x)) -DDONT_WANT_WIN32_DLL_SUPPORT -D__GLASGOW_HASKELL__=604 -DDBNTWIN32 .\Database\MSSqlServer\MSSqlFunctions_stub.c -quiet -dumpbase MSSqlFunctions_stub.c -O -Wimplicit -version -ffloat-store -o C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.s GNU CPP version 3.2.3 (mingw special 20030504-1) (cpplib) (80386, BSD syntax) GNU C version 3.2.3 (mingw special 20030504-1) (mingw32) compiled by GNU C version 3.2.3 (mingw special). ignoring nonexistent directory "c:/ghc/lib/gcc-lib/mingw32/3.2.3/../../../../include" ignoring nonexistent directory "c:/ghc/lib/gcc-lib/mingw32/3.2.3/include" ignoring nonexistent directory "c:/ghc/lib/gcc-lib/mingw32/3.2.3/../../../../mingw32/include" ignoring nonexistent directory "/mingw/lib/gcc-lib/mingw32/3.2.3/../../../../include" ignoring nonexistent directory "/mingw/include" ignoring nonexistent directory "/mingw/lib/gcc-lib/mingw32/3.2.3/include" ignoring nonexistent directory "/mingw/lib/gcc-lib/mingw32/3.2.3/../../../../mingw32/include" ignoring nonexistent directory "/usr/local/mingw32/include" #include "..." search starts here: #include <...> search starts here: Database/MSSqlServer C:/Program Files/Microsoft SQL Server/80/Tools/DevTools/Include c:/ghc/ghc-6.4/include c:/ghc/ghc-6.4/include/mingw c:/ghc/ghc-6.4/gcc-lib/include End of search list. *** Assembler c:\ghc\ghc-6.4\gcc -Bc:\ghc\ghc-6.4\gcc-lib/ -I./Database/MSSqlServer -IC:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Include -c C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.s -o ..\out\MSSqlFunctions_stub.o *** C Compiler c:\ghc\ghc-6.4\gcc -Bc:\ghc\ghc-6.4\gcc-lib/ -x c .\Database\MSSqlServer\MSSqlFunctions.hc -o C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.raw_s -DDONT_WANT_WIN32_DLL_SUPPORT -fno-defer-pop -fomit-frame-pointer -fno-builtin -DSTOLEN_X86_REGS=4 -v -S -Wimplicit -O -D__GLASGOW_HASKELL__=604 -DDBNTWIN32 -ffloat-store -I ./Database/MSSqlServer -I C:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Include -I c:/ghc/ghc-6.4/include -I c:/ghc/ghc-6.4/include/mingw Reading specs from c:/ghc/ghc-6.4/gcc-lib/specs Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c++,f77,objc --disable-win32-registry --disable-shared --enable-sjlj-exceptions Thread model: win32 gcc version 3.2.3 (mingw special 20030504-1) c:\ghc\ghc-6.4\gcc-lib\cc1.exe -lang-c -v -I ./Database/MSSqlServer -I C:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Include -I c:/ghc/ghc-6.4/include -I c:/ghc/ghc-6.4/include/mingw -iprefix c:\ghc\ghc-6.4\../lib/gcc-lib/mingw32/3.2.3/ -isystem c:/ghc/ghc-6.4/gcc-lib/include -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=3 -D__GXX_ABI_VERSION=102 -D_WIN32 -D__WIN32 -D__WIN32__ -DWIN32 -D__MINGW32__ -D__MSVCRT__ -DWINNT -D_X86_=1 -D_WIN32 -D__WIN32 -D__WIN32__ -D__WIN32__ -D__MINGW32__ -D__MSVCRT__ -D__WINNT__ -D_X86_=1 -D__WIN32 -D__WINNT -Asystem=winnt -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i586__ -D__tune_pentium__ -D__stdcall=__attribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D__fastcall=__attribute__((__fastcall__)) -D_stdcall=__attribute__((__stdcall__)) -D_cdecl=__attribute__((__cdecl__)) -D_fastcall=__attribute__((__fastcall__)) -D__declspec(x)=__attribute__((x)) -DDONT_WANT_WIN32_DLL_SUPPORT -DSTOLEN_X86_REGS=4 -D__GLASGOW_HASKELL__=604 -DDBNTWIN32 .\Database\MSSqlServer\MSSqlFunctions.hc -quiet -dumpbase MSSqlFunctions.hc -O -Wimplicit -version -fno-defer-pop -fomit-frame-pointer -fno-builtin -ffloat-store -o C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.raw_s GNU CPP version 3.2.3 (mingw special 20030504-1) (cpplib) (80386, BSD syntax) GNU C version 3.2.3 (mingw special 20030504-1) (mingw32) compiled by GNU C version 3.2.3 (mingw special). ignoring nonexistent directory "c:/ghc/lib/gcc-lib/mingw32/3.2.3/../../../../include" ignoring nonexistent directory "c:/ghc/lib/gcc-lib/mingw32/3.2.3/include" ignoring nonexistent directory "c:/ghc/lib/gcc-lib/mingw32/3.2.3/../../../../mingw32/include" ignoring nonexistent directory "/mingw/lib/gcc-lib/mingw32/3.2.3/../../../../include" ignoring nonexistent directory "/mingw/include" ignoring nonexistent directory "/mingw/lib/gcc-lib/mingw32/3.2.3/include" ignoring nonexistent directory "/mingw/lib/gcc-lib/mingw32/3.2.3/../../../../mingw32/include" ignoring nonexistent directory "/usr/local/mingw32/include" #include "..." search starts here: #include <...> search starts here: Database/MSSqlServer C:/Program Files/Microsoft SQL Server/80/Tools/DevTools/Include c:/ghc/ghc-6.4/include c:/ghc/ghc-6.4/include/mingw c:/ghc/ghc-6.4/gcc-lib/include End of search list. In file included from Database/MSSqlServer/MSSqlFunctions.hc:6: C:/Program Files/Microsoft SQL Server/80/Tools/DevTools/Include/sqlfront.h:45: warning: redefinition of `DOUBLE' c:/ghc/ghc-6.4/include/mingw/wtypes.h:148: warning: `DOUBLE' previously declared here *** Mangler c:\ghc\ghc-6.4\perl c:\ghc\ghc-6.4\ghc-asm C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.raw_s C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1017.s 4 *** Assembler c:\ghc\ghc-6.4\gcc -Bc:\ghc\ghc-6.4\gcc-lib/ -I./Database/MSSqlServer -IC:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Include -c C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1017.s -o ..\out\Database\MSSqlServer\MSSqlFunctions.o *** Deleting temp files Deleting: C:/DOCUME~1/bayleya/LOCALS~1/Temp/ghc1017.s C:/DOCUME~1/bayleya/LOCALS~1/Temp/ghc1016.raw_s C:/DOCUME~1/bayleya/LOCALS~1/Temp/ghc1016.s *** Compiling Database.MSSqlServer.Test.MSSqlFunctions ( ./Database/MSSqlServer/Test/MSSqlFunctions.lhs, ..\out/Database/MSSqlServer/Test/MSSqlFunctions.o ): compile: input file C:/DOCUME~1/bayleya/LOCALS~1/Temp/ghc1017.lpp *** Checking old interface for Database.MSSqlServer.Test.MSSqlFunctions: Compiling Database.MSSqlServer.Test.MSSqlFunctions ( ./Database/MSSqlServer/Test/MSSqlFunctions.lhs, ..\out/Database/MSSqlServer/Test/MSSqlFunctions.o ) *** Parser: *** Renamer/typechecker: ./Database/MSSqlServer/Test/MSSqlFunctions.lhs:16:1: Warning: Module `Foreign' is imported, but nothing from it is used (except perhaps instances visible in `Foreign') ./Database/MSSqlServer/Test/MSSqlFunctions.lhs:17:1: Warning: Module `Foreign.C' is imported, but nothing from it is used (except perhaps instances visible in `Foreign.C') ./Database/MSSqlServer/Test/MSSqlFunctions.lhs:19:1: Warning: Module `Control.Exception' is imported, but nothing from it is used (except perhaps instances visible in `Control.Exception') ./Database/MSSqlServer/Test/MSSqlFunctions.lhs:20:1: Warning: Module `Data.Dynamic' is imported, but nothing from it is used (except perhaps instances visible in `Data.Dynamic') ./Database/MSSqlServer/Test/MSSqlFunctions.lhs:23:1: Warning: Module `Test.HUnit' is imported, but nothing from it is used (except perhaps instances visible in `Test.HUnit') ./Database/MSSqlServer/Test/MSSqlFunctions.lhs:43:1: Warning: Definition but no type signature for `testlist' ./Database/MSSqlServer/Test/MSSqlFunctions.lhs:43:1: Warning: Defined but not used: `testlist' ./Database/MSSqlServer/Test/MSSqlFunctions.lhs:47:1: Warning: Definition but no type signature for `ignoreError' ./Database/MSSqlServer/Test/MSSqlFunctions.lhs:47:1: Warning: Defined but not used: `ignoreError' ./Database/MSSqlServer/Test/MSSqlFunctions.lhs:48:23: Warning: Defined but not used: `e' ./Database/MSSqlServer/Test/MSSqlFunctions.lhs:50:1: Warning: Definition but no type signature for `printIgnoreError' ./Database/MSSqlServer/Test/MSSqlFunctions.lhs:50:1: Warning: Defined but not used: `printIgnoreError' ./Database/MSSqlServer/Test/MSSqlFunctions.lhs:56:1: Warning: Definition but no type signature for `printPropagateError' *** Desugar: Result size = 231 *** Simplify: Result size = 287 Result size = 241 *** Tidy Core: Result size = 241 *** CorePrep: Result size = 305 *** Stg2Stg: *** CodeGen: *** CodeOutput: *** C Compiler c:\ghc\ghc-6.4\gcc -Bc:\ghc\ghc-6.4\gcc-lib/ -x c .\Database\MSSqlServer\Test\MSSqlFunctions.hc -o C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.raw_s -DDONT_WANT_WIN32_DLL_SUPPORT -fno-defer-pop -fomit-frame-pointer -fno-builtin -DSTOLEN_X86_REGS=4 -v -S -Wimplicit -O -D__GLASGOW_HASKELL__=604 -ffloat-store -I ./Database/MSSqlServer/Test -I C:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Include -I c:/ghc/ghc-6.4/include -I c:/ghc/ghc-6.4/include/mingw Reading specs from c:/ghc/ghc-6.4/gcc-lib/specs Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c++,f77,objc --disable-win32-registry --disable-shared --enable-sjlj-exceptions Thread model: win32 gcc version 3.2.3 (mingw special 20030504-1) c:\ghc\ghc-6.4\gcc-lib\cc1.exe -lang-c -v -I ./Database/MSSqlServer/Test -I C:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Include -I c:/ghc/ghc-6.4/include -I c:/ghc/ghc-6.4/include/mingw -iprefix c:\ghc\ghc-6.4\../lib/gcc-lib/mingw32/3.2.3/ -isystem c:/ghc/ghc-6.4/gcc-lib/include -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=3 -D__GXX_ABI_VERSION=102 -D_WIN32 -D__WIN32 -D__WIN32__ -DWIN32 -D__MINGW32__ -D__MSVCRT__ -DWINNT -D_X86_=1 -D_WIN32 -D__WIN32 -D__WIN32__ -D__WIN32__ -D__MINGW32__ -D__MSVCRT__ -D__WINNT__ -D_X86_=1 -D__WIN32 -D__WINNT -Asystem=winnt -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i586__ -D__tune_pentium__ -D__stdcall=__attribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D__fastcall=__attribute__((__fastcall__)) -D_stdcall=__attribute__((__stdcall__)) -D_cdecl=__attribute__((__cdecl__)) -D_fastcall=__attribute__((__fastcall__)) -D__declspec(x)=__attribute__((x)) -DDONT_WANT_WIN32_DLL_SUPPORT -DSTOLEN_X86_REGS=4 -D__GLASGOW_HASKELL__=604 .\Database\MSSqlServer\Test\MSSqlFunctions.hc -quiet -dumpbase MSSqlFunctions.hc -O -Wimplicit -version -fno-defer-pop -fomit-frame-pointer -fno-builtin -ffloat-store -o C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.raw_s GNU CPP version 3.2.3 (mingw special 20030504-1) (cpplib) (80386, BSD syntax) GNU C version 3.2.3 (mingw special 20030504-1) (mingw32) compiled by GNU C version 3.2.3 (mingw special). ignoring nonexistent directory "c:/ghc/lib/gcc-lib/mingw32/3.2.3/../../../../include" ignoring nonexistent directory "c:/ghc/lib/gcc-lib/mingw32/3.2.3/include" ignoring nonexistent directory "c:/ghc/lib/gcc-lib/mingw32/3.2.3/../../../../mingw32/include" ignoring nonexistent directory "/mingw/lib/gcc-lib/mingw32/3.2.3/../../../../include" ignoring nonexistent directory "/mingw/include" ignoring nonexistent directory "/mingw/lib/gcc-lib/mingw32/3.2.3/include" ignoring nonexistent directory "/mingw/lib/gcc-lib/mingw32/3.2.3/../../../../mingw32/include" ignoring nonexistent directory "/usr/local/mingw32/include" #include "..." search starts here: #include <...> search starts here: Database/MSSqlServer/Test C:/Program Files/Microsoft SQL Server/80/Tools/DevTools/Include c:/ghc/ghc-6.4/include c:/ghc/ghc-6.4/include/mingw c:/ghc/ghc-6.4/gcc-lib/include End of search list. *** Mangler c:\ghc\ghc-6.4\perl c:\ghc\ghc-6.4\ghc-asm C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.raw_s C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.s 4 *** Assembler c:\ghc\ghc-6.4\gcc -Bc:\ghc\ghc-6.4\gcc-lib/ -I./Database/MSSqlServer/Test -IC:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Include -c C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.s -o ..\out\Database\MSSqlServer\Test\MSSqlFunctions.o *** Deleting temp files Deleting: C:/DOCUME~1/bayleya/LOCALS~1/Temp/ghc1016.s C:/DOCUME~1/bayleya/LOCALS~1/Temp/ghc1016.raw_s *** Compiling Main ( Main.lhs, ..\out/Main.o ): compile: input file C:/DOCUME~1/bayleya/LOCALS~1/Temp/ghc1016.lpp *** Checking old interface for Main: Compiling Main ( Main.lhs, ..\out/Main.o ) *** Parser: *** Renamer/typechecker: *** Desugar: Result size = 32 *** Simplify: Result size = 6 Result size = 6 *** Tidy Core: Result size = 6 *** CorePrep: Result size = 6 *** Stg2Stg: *** CodeGen: *** CodeOutput: *** C Compiler c:\ghc\ghc-6.4\gcc -Bc:\ghc\ghc-6.4\gcc-lib/ -x c Main.hc -o C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.raw_s -DDONT_WANT_WIN32_DLL_SUPPORT -fno-defer-pop -fomit-frame-pointer -fno-builtin -DSTOLEN_X86_REGS=4 -v -S -Wimplicit -O -D__GLASGOW_HASKELL__=604 -ffloat-store -I . -I C:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Include -I c:/ghc/ghc-6.4/include -I c:/ghc/ghc-6.4/include/mingw Reading specs from c:/ghc/ghc-6.4/gcc-lib/specs Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c++,f77,objc --disable-win32-registry --disable-shared --enable-sjlj-exceptions Thread model: win32 gcc version 3.2.3 (mingw special 20030504-1) c:\ghc\ghc-6.4\gcc-lib\cc1.exe -lang-c -v -I . -I C:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Include -I c:/ghc/ghc-6.4/include -I c:/ghc/ghc-6.4/include/mingw -iprefix c:\ghc\ghc-6.4\../lib/gcc-lib/mingw32/3.2.3/ -isystem c:/ghc/ghc-6.4/gcc-lib/include -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=3 -D__GXX_ABI_VERSION=102 -D_WIN32 -D__WIN32 -D__WIN32__ -DWIN32 -D__MINGW32__ -D__MSVCRT__ -DWINNT -D_X86_=1 -D_WIN32 -D__WIN32 -D__WIN32__ -D__WIN32__ -D__MINGW32__ -D__MSVCRT__ -D__WINNT__ -D_X86_=1 -D__WIN32 -D__WINNT -Asystem=winnt -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i586__ -D__tune_pentium__ -D__stdcall=__attribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D__fastcall=__attribute__((__fastcall__)) -D_stdcall=__attribute__((__stdcall__)) -D_cdecl=__attribute__((__cdecl__)) -D_fastcall=__attribute__((__fastcall__)) -D__declspec(x)=__attribute__((x)) -DDONT_WANT_WIN32_DLL_SUPPORT -DSTOLEN_X86_REGS=4 -D__GLASGOW_HASKELL__=604 Main.hc -quiet -dumpbase Main.hc -O -Wimplicit -version -fno-defer-pop -fomit-frame-pointer -fno-builtin -ffloat-store -o C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.raw_s GNU CPP version 3.2.3 (mingw special 20030504-1) (cpplib) (80386, BSD syntax) GNU C version 3.2.3 (mingw special 20030504-1) (mingw32) compiled by GNU C version 3.2.3 (mingw special). ignoring nonexistent directory "c:/ghc/lib/gcc-lib/mingw32/3.2.3/../../../../include" ignoring nonexistent directory "c:/ghc/lib/gcc-lib/mingw32/3.2.3/include" ignoring nonexistent directory "c:/ghc/lib/gcc-lib/mingw32/3.2.3/../../../../mingw32/include" ignoring nonexistent directory "/mingw/lib/gcc-lib/mingw32/3.2.3/../../../../include" ignoring nonexistent directory "/mingw/include" ignoring nonexistent directory "/mingw/lib/gcc-lib/mingw32/3.2.3/include" ignoring nonexistent directory "/mingw/lib/gcc-lib/mingw32/3.2.3/../../../../mingw32/include" ignoring nonexistent directory "/usr/local/mingw32/include" #include "..." search starts here: #include <...> search starts here: . C:/Program Files/Microsoft SQL Server/80/Tools/DevTools/Include c:/ghc/ghc-6.4/include c:/ghc/ghc-6.4/include/mingw c:/ghc/ghc-6.4/gcc-lib/include End of search list. *** Mangler c:\ghc\ghc-6.4\perl c:\ghc\ghc-6.4\ghc-asm C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.raw_s C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.s 4 *** Assembler c:\ghc\ghc-6.4\gcc -Bc:\ghc\ghc-6.4\gcc-lib/ -I. -IC:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Include -c C:\DOCUME~1\bayleya\LOCALS~1\Temp\ghc1016.s -o ..\out\Main.o *** Deleting temp files Deleting: C:/DOCUME~1/bayleya/LOCALS~1/Temp/ghc1016.s C:/DOCUME~1/bayleya/LOCALS~1/Temp/ghc1016.raw_s Upsweep completely successful. *** Deleting temp files Deleting: link: linkables are ... LinkableM (Wed Apr 27 15:51:28 GMT Daylight Time 2005) Main [DotO ..\out/Main.o] LinkableM (Wed Apr 27 15:51:23 GMT Daylight Time 2005) Database.MSSqlServer.Test.MSSqlFunctions [DotO ..\out/Database/MSSqlServer/Test/MSSqlFunctions.o] LinkableM (Wed Apr 27 15:51:17 GMT Daylight Time 2005) Database.MSSqlServer.MSSqlFunctions [DotO ..\out/Database/MSSqlServer/MSSqlFunctions.o, DotO ..\out/MSSqlFunctions_stub.o] Linking ... *** Linker c:\ghc\ghc-6.4\gcc -Bc:\ghc\ghc-6.4\gcc-lib/ -v -o takusen -DDONT_WANT_WIN32_DLL_SUPPORT ..\out/Main.o ..\out/Database/MSSqlServer/Test/MSSqlFunctions.o ..\out/Database/MSSqlServer/MSSqlFunctions.o ..\out/MSSqlFunctions_stub.o -Lc:\windows\system32 -lntwdblib -Lc:/ghc/ghc-6.4 -Lc:/ghc/ghc-6.4/gcc-lib -lHSHUnit -lHSbase -lHSbase_cbits -lwsock32 -lmsvcrt -lkernel32 -luser32 -lshell32 -lHSrts -lm -lgmp -lwsock32 -u _GHCziBase_Izh_static_info -u _GHCziBase_Czh_static_info -u _GHCziFloat_Fzh_static_info -u _GHCziFloat_Dzh_static_info -u _GHCziPtr_Ptr_static_info -u _GHCziWord_Wzh_static_info -u _GHCziInt_I8zh_static_info -u _GHCziInt_I16zh_static_info -u _GHCziInt_I32zh_static_info -u _GHCziInt_I64zh_static_info -u _GHCziWord_W8zh_static_info -u _GHCziWord_W16zh_static_info -u _GHCziWord_W32zh_static_info -u _GHCziWord_W64zh_static_info -u _GHCziStable_StablePtr_static_info -u _GHCziBase_Izh_con_info -u _GHCziBase_Czh_con_info -u _GHCziFloat_Fzh_con_info -u _GHCziFloat_Dzh_con_info -u _GHCziPtr_Ptr_con_info -u _GHCziPtr_FunPtr_con_info -u _GHCziStable_StablePtr_con_info -u _GHCziBase_False_closure -u _GHCziBase_True_closure -u _GHCziPack_unpackCString_closure -u _GHCziIOBase_stackOverflow_closure -u _GHCziIOBase_heapOverflow_closure -u _GHCziIOBase_NonTermination_closure -u _GHCziIOBase_BlockedOnDeadMVar_closure -u _GHCziIOBase_BlockedIndefinitely_closure -u _GHCziIOBase_Deadlock_closure -u _GHCziWeak_runFinalizzerBatch_closure -u ___stginit_Prelude Reading specs from c:/ghc/ghc-6.4/gcc-lib/specs Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c++,f77,objc --disable-win32-registry --disable-shared --enable-sjlj-exceptions Thread model: win32 gcc version 3.2.3 (mingw special 20030504-1) c:\ghc\ghc-6.4\gcc-lib\ld.exe -Bdynamic -o takusen.exe -u _GHCziBase_Izh_static_info -u _GHCziBase_Czh_static_info -u _GHCziFloat_Fzh_static_info -u _GHCziFloat_Dzh_static_info -u _GHCziPtr_Ptr_static_info -u _GHCziWord_Wzh_static_info -u _GHCziInt_I8zh_static_info -u _GHCziInt_I16zh_static_info -u _GHCziInt_I32zh_static_info -u _GHCziInt_I64zh_static_info -u _GHCziWord_W8zh_static_info -u _GHCziWord_W16zh_static_info -u _GHCziWord_W32zh_static_info -u _GHCziWord_W64zh_static_info -u _GHCziStable_StablePtr_static_info -u _GHCziBase_Izh_con_info -u _GHCziBase_Czh_con_info -u _GHCziFloat_Fzh_con_info -u _GHCziFloat_Dzh_con_info -u _GHCziPtr_Ptr_con_info -u _GHCziPtr_FunPtr_con_info -u _GHCziStable_StablePtr_con_info -u _GHCziBase_False_closure -u _GHCziBase_True_closure -u _GHCziPack_unpackCString_closure -u _GHCziIOBase_stackOverflow_closure -u _GHCziIOBase_heapOverflow_closure -u _GHCziIOBase_NonTermination_closure -u _GHCziIOBase_BlockedOnDeadMVar_closure -u _GHCziIOBase_BlockedIndefinitely_closure -u _GHCziIOBase_Deadlock_closure -u _GHCziWeak_runFinalizzerBatch_closure -u ___stginit_Prelude c:/ghc/ghc-6.4/gcc-lib/crt2.o c:/ghc/ghc-6.4/gcc-lib/crtbegin.o -Lc:\windows\system32 -Lc:/ghc/ghc-6.4 -Lc:/ghc/ghc-6.4/gcc-lib -Lc:/ghc/ghc-6.4/gcc-lib ..\out/Main.o ..\out/Database/MSSqlServer/Test/MSSqlFunctions.o ..\out/Database/MSSqlServer/MSSqlFunctions.o ..\out/MSSqlFunctions_stub.o -lntwdblib -lHSHUnit -lHSbase -lHSbase_cbits -lwsock32 -lmsvcrt -lkernel32 -luser32 -lshell32 -lHSrts -lm -lgmp -lwsock32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt c:/ghc/ghc-6.4/gcc-lib/crtend.o d000013.o(.text+0x0): multiple definition of `_onexit' c:/ghc/ghc-6.4/gcc-lib/crt2.o(.text+0x2a0):crt1.c: first defined here d000018.o(.text+0x0): multiple definition of `atexit' c:/ghc/ghc-6.4/gcc-lib/crt2.o(.text+0x280):crt1.c: first defined here c:/ghc/ghc-6.4/gcc-lib/crt2.o(.text+0x1f1):crt1.c: undefined reference to `SetUnhandledExceptionFilter@4' c:/ghc/ghc-6.4/gcc-lib/crt2.o(.text+0x238):crt1.c: undefined reference to `ExitProcess@4' c:/ghc/ghc-6.4/libHSbase.a(Handle__177.o)(.text+0x303):ghc3552.hc: undefined reference to `send@16' c:/ghc/ghc-6.4/libHSbase.a(Handle__159.o)(.text+0x30a):ghc3552.hc: undefined reference to `send@16' c:/ghc/ghc-6.4/libHSrts.a(Adjustor.o)(.text+0x90):Adjustor.c: undefined reference to `VirtualProtect@16' c:/ghc/ghc-6.4/libHSrts.a(Adjustor.o)(.text+0xa2):Adjustor.c: undefined reference to `GetLastError@0' c:/ghc/ghc-6.4/libHSrts.a(RtsMessages.o)(.text+0xdb):RtsMessages.c: undefined reference to `GetModuleHandleA@4' c:/ghc/ghc-6.4/libHSrts.a(RtsMessages.o)(.text+0x284):RtsMessages.c: undefined reference to `MessageBoxA@16' c:/ghc/ghc-6.4/libHSrts.a(RtsMessages.o)(.text+0x380):RtsMessages.c: undefined reference to `MessageBoxA@16' c:/ghc/ghc-6.4/libHSrts.a(RtsMessages.o)(.text+0x429):RtsMessages.c: undefined reference to `OutputDebugStringA@4' c:/ghc/ghc-6.4/libHSrts.a(Stats.o)(.text+0x33):Stats.c: undefined reference to `GetVersionExA@4' c:/ghc/ghc-6.4/libHSrts.a(Stats.o)(.text+0x67):Stats.c: undefined reference to `GetSystemTime@4' c:/ghc/ghc-6.4/libHSrts.a(Stats.o)(.text+0x75):Stats.c: undefined reference to `SystemTimeToFileTime@8' c:/ghc/ghc-6.4/libHSrts.a(Stats.o)(.text+0x99):Stats.c: undefined reference to `GetCurrentProcess@0' c:/ghc/ghc-6.4/libHSrts.a(Stats.o)(.text+0xa1):Stats.c: undefined reference to `GetProcessTimes@20' c:/ghc/ghc-6.4/libHSrts.a(ConsoleHandler.o)(.text+0xbe):ConsoleHandler.c: undefined reference to `SetConsoleCtrlHandler@8' c:/ghc/ghc-6.4/libHSrts.a(ConsoleHandler.o)(.text+0x331):ConsoleHandler.c: undefined reference to `SetConsoleCtrlHandler@8' c:/ghc/ghc-6.4/libHSrts.a(ConsoleHandler.o)(.text+0x358):ConsoleHandler.c: undefined reference to `SetConsoleCtrlHandler@8' c:/ghc/ghc-6.4/libHSrts.a(ConsoleHandler.o)(.text+0x383):ConsoleHandler.c: undefined reference to `SetConsoleCtrlHandler@8' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x36):AsyncIO.c: undefined reference to `EnterCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0xb7):AsyncIO.c: undefined reference to `SetEvent@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0xc7):AsyncIO.c: undefined reference to `LeaveCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0xd9):AsyncIO.c: undefined reference to `EnterCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0xe9):AsyncIO.c: undefined reference to `LeaveCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x11a):AsyncIO.c: undefined reference to `EnterCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x12a):AsyncIO.c: undefined reference to `LeaveCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x14b):AsyncIO.c: undefined reference to `EnterCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x15b):AsyncIO.c: undefined reference to `LeaveCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x192):AsyncIO.c: undefined reference to `InitializeCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x1a2):AsyncIO.c: undefined reference to `CreateEventA@16' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x1b4):AsyncIO.c: undefined reference to `CreateEventA@16' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x202):AsyncIO.c: undefined reference to `CloseHandle@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x294):AsyncIO.c: undefined reference to `EnterCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x2b5):AsyncIO.c: undefined reference to `LeaveCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x2d5):AsyncIO.c: undefined reference to `LeaveCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x2f5):AsyncIO.c: undefined reference to `WaitForMultipleObjects@16' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x44c):AsyncIO.c: undefined reference to `ResetEvent@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x456):AsyncIO.c: undefined reference to `LeaveCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x474):AsyncIO.c: undefined reference to `SetEvent@4' c:/ghc/ghc-6.4/libHSrts.a(AsyncIO.o)(.text+0x486):AsyncIO.c: undefined reference to `ResetEvent@4' c:/ghc/ghc-6.4/libHSrts.a(MBlock.o)(.text+0x1a1):MBlock.c: undefined reference to `VirtualAlloc@16' c:/ghc/ghc-6.4/libHSrts.a(MBlock.o)(.text+0x1b2):MBlock.c: undefined reference to `GetLastError@0' c:/ghc/ghc-6.4/libHSrts.a(MBlock.o)(.text+0x224):MBlock.c: undefined reference to `VirtualAlloc@16' c:/ghc/ghc-6.4/libHSrts.a(MBlock.o)(.text+0x232):MBlock.c: undefined reference to `GetLastError@0' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x9d):IOManager.c: undefined reference to `EnterCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0xa6):IOManager.c: undefined reference to `LeaveCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0xb9):IOManager.c: undefined reference to `WaitForMultipleObjects@16' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0xd1):IOManager.c: undefined reference to `EnterCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0xdd):IOManager.c: undefined reference to `LeaveCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x12a):IOManager.c: undefined reference to `recv@16' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x14d):IOManager.c: undefined reference to `GetLastError@0' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x175):IOManager.c: undefined reference to `GetStdHandle@4' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x194):IOManager.c: undefined reference to `Sleep@4' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x1c4):IOManager.c: undefined reference to `send@16' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x1d2):IOManager.c: undefined reference to `WSAGetLastError@0' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x239):IOManager.c: undefined reference to `Sleep@4' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x39e):IOManager.c: undefined reference to `CreateEventA@16' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x3db):IOManager.c: undefined reference to `InitializeCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x42e):IOManager.c: undefined reference to `EnterCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x450):IOManager.c: undefined reference to `LeaveCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x457):IOManager.c: undefined reference to `Sleep@4' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x462):IOManager.c: undefined reference to `EnterCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x484):IOManager.c: undefined reference to `LeaveCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x4a2):IOManager.c: undefined reference to `LeaveCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(IOManager.o)(.text+0x620):IOManager.c: undefined reference to `SetEvent@4' c:/ghc/ghc-6.4/libHSrts.a(Ticker.o)(.text+0x39):Ticker.c: undefined reference to `WaitForSingleObject@8' c:/ghc/ghc-6.4/libHSrts.a(Ticker.o)(.text+0x98):Ticker.c: undefined reference to `CloseHandle@4' c:/ghc/ghc-6.4/libHSrts.a(Ticker.o)(.text+0xb4):Ticker.c: undefined reference to `CreateEventA@16' c:/ghc/ghc-6.4/libHSrts.a(Ticker.o)(.text+0x115):Ticker.c: undefined reference to `SetEvent@4' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x1d):WorkQueue.c: undefined reference to `CreateSemaphoreA@16' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x29):WorkQueue.c: undefined reference to `GetLastError@0' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x9f):WorkQueue.c: undefined reference to `InitializeCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0xff):WorkQueue.c: undefined reference to `CloseHandle@4' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x113):WorkQueue.c: undefined reference to `CloseHandle@4' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x1e7):WorkQueue.c: undefined reference to `WaitForSingleObject@8' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x1fe):WorkQueue.c: undefined reference to `GetLastError@0' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x286):WorkQueue.c: undefined reference to `EnterCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x2bd):WorkQueue.c: undefined reference to `ReleaseSemaphore@12' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x2c8):WorkQueue.c: undefined reference to `LeaveCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x2d7):WorkQueue.c: undefined reference to `GetLastError@0' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x3a9):WorkQueue.c: undefined reference to `WaitForSingleObject@8' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x3c0):WorkQueue.c: undefined reference to `GetLastError@0' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x3d4):WorkQueue.c: undefined reference to `EnterCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x3fe):WorkQueue.c: undefined reference to `ReleaseSemaphore@12' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x409):WorkQueue.c: undefined reference to `LeaveCriticalSection@4' c:/ghc/ghc-6.4/libHSrts.a(WorkQueue.o)(.text+0x418):WorkQueue.c: undefined reference to `GetLastError@0' c:/ghc/ghc-6.4/gcc-lib/libgcc.a(w32-shared-ptr.o)(.text+0x160): undefined reference to `FindAtomA@4' c:/ghc/ghc-6.4/gcc-lib/libgcc.a(w32-shared-ptr.o)(.text+0x1d9): undefined reference to `FindAtomA@4' c:/ghc/ghc-6.4/gcc-lib/libgcc.a(w32-shared-ptr.o)(.text+0x25e): undefined reference to `AddAtomA@4' c:/ghc/ghc-6.4/gcc-lib/libgcc.a(w32-shared-ptr.o)(.text+0x2b9): undefined reference to `GetAtomNameA@12' *** Deleting temp files Deleting: C:/DOCUME~1/bayleya/LOCALS~1/Temp/ghc1018.lpp C:/DOCUME~1/bayleya/LOCALS~1/Temp/ghc1017.lpp C:/DOCUME~1/bayleya/LOCALS~1/Temp/ghc1016.lpp ----------------------------------------- ***************************************************************** Confidentiality Note: The information contained in this message, and any attachments, may contain confidential and/or privileged material. It is intended solely for the person(s) or entity to which it is addressed. Any review, retransmission, dissemination, or taking of any action in reliance upon this information by persons or entities other than the intended recipient(s) is prohibited. If you received this in error, please contact the sender and delete the material from any computer. *****************************************************************

Adding the -Lc:\windows\system32 option when linking upsets
the resolution of misc standard libraries, causing 'ld' to use the DLLs
rather than the mingw link libraries, including msvcrt.dll.
Try just using c:/windows/system32/ntwdblib.dll on the link line instead.
If ld's DLL auto-import support doesn't quite work, attempting to link
with the import library 'ntwdblib' (ntwdblib.lib ?) instead is worth a shot.
The SQL Server SDK ought to include that somewhere.
hth
--sigbjorn
----- Original Message -----
From: "Bayley, Alistair"
I'm trying to link an FFI program against a Windows (XP) DLL (c:\windows\system32\ntwdblib - this is the MS Sql Server client library). The output from ghc6.4 -v is below; the errors start in the Linker section.
Comments:
- Where do these objects d0000xx.o come from? (They're not in my source...)
d000013.o(.text+0x0): multiple definition of `_onexit' c:/ghc/ghc-6.4/gcc-lib/crt2.o(.text+0x2a0):crt1.c: first defined here d000018.o(.text+0x0): multiple definition of `atexit' c:/ghc/ghc-6.4/gcc-lib/crt2.o(.text+0x280):crt1.c: first defined here
- Have I omitted some important linker flag? There are tons of these undefined references from crt2.o, like this:
c:/ghc/ghc-6.4/gcc-lib/crt2.o(.text+0x238):crt1.c: undefined reference to `ExitProcess@4'
Thanks, Alistair.
participants (2)
-
Bayley, Alistair
-
Sigbjorn Finne