
2003年06月17日(火)の20時15分に Simon Marlow 曰く:
What seems to be happening is that the Arrow module in gtk2hs is clashing with the Arrow module in the lang package. As far as I can tell this all looks perfectly normal, so why don't we this kind of problem all the time? What's special about Arrow?
How does it get resolved in the libHS*.a case? How does the system linker resolve the ambiguity when ghci's linker cannot?
The static linker will simply pick the first __stginit_Arrow it finds when searching libraries. In actual fact, you're better off with the linking error, because the static linking behaviour is likely to result in crashes at runtime.
I see, interesting. In this case gtk2hs.o was generated by ghc-pkg, but naively, can I ask, is it not possible to detect this claiming of module names at buildtime? Jens