
Chris Dornan
If I try the same with ghc:
ghc test.hs -package hsql-1.7 -package hsql-mysql-1.7 -L. -llibmysql
with libmysql.lib copied into the same directory I get:
C:\Program Files\Haskell\hsql-mysql-1.7\ghc-6.8.3/libHShsql-mysql- 1.7.a(MySQL.o)(.text+0x748):fake: undefined reference to `mysql_init <at> 4' C:\Program Files\Haskell\hsql-mysql-1.7\ghc-6.8.3/libHShsql-mysql- 1.7.a(MySQL.o)(.text+0x83f):fake: undefined reference to `mysql_real_connect <at> 32' [...] C:\Program Files\Haskell\hsql-mysql-1.7\ghc-6.8.3/libHShsql-mysql- 1.7.a(MySQL.o)(.text+0x216c):fake: undefined reference to `mysql_stmt_affected_rows <at> 4' collect2: ld returned 1 exit status
I have a possibly distantly related problem, a clunky solution, and would like to know if there's better advice. I tried to compile a statically linked binary of a program involving the X11 package: $ ghc --make tile.hs -optl-static -optl-pthread This gives undefined references because ghc tacks on -lX11, but not -lxcb, -lxcb-xlib, etc. $ ghc --make tile.hs -optl-static -optl-pthread -lXcb -lxcb-xlib ... This gives undefined references because (I think) the resulting link arguments aren't in the right order. So, I ended up doing $ ghc --make tile.hs -optl-static -optl-pthread -v Then taking the output and tacking on -lxcb, -lxcb-xlib, etc. in the right position, running it, and then it worked. So, perhaps you might want to look at the output with -v and seeing if everything looks the way it should.