Ketil Malde wrote:

Now you see it, now you don't. :-/

* .a files in /local/lib/foo-0.0/ghc-xxxx/  -- check
* .a files named libfoo.a                   -- check
* -lfoo on the command line                 -- check

Using strace shows that the .a file is indeed being read by ghc, but I
still get "undefined reference".

No idea, I'm afraid. ghc -v might help you. Try cut-and-pasting the linker command line and play around with ordering of -l options.

As a matter of style, rather than using -lfoo on the command line you should use the extra-libraries field in the .cabal file.

Apologies for being dense, but I can't seem to make it work at all.
Is there a cabalized library that does this (links to a .a type C
library) that I can look at?

Some of the standard packages do this, eg. http://darcs.haskell.org/package/network comes with a small amount of C code. GHC doesn't currently use Cabal to build this, though. I'm sure there are other Cabal packages out there that link to .a libraries, it's quite a common thing to do.

Cheers,
        Simon
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to