
#14481: Mutually dependent modules with orphan instances causes missing symbols with single-shot compilation -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: closed Priority: normal | Milestone: 8.4.1 Component: Compiler (Type | Version: 8.2.1 checker) | Resolution: invalid | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): Indeed this is a bug in `ghc -M`. For instance {{{ $ ghc -c Instances2.hs $ cat Makefile # DO NOT DELETE: Beginning of Haskell dependencies Types.o : Types.hs Instances2.o-boot : Instances2.hs-boot Instances2.o-boot : Types.hi Main.o : Main.hs Main.o : Instances2.hi-boot Main.o : Types.hi Instances1.o-boot : Instances1.hs-boot Instances1.o-boot : Types.hi Instances2.o : Instances2.hs Instances2.o : Instances1.hi-boot Instances2.o : Types.hi Instances1.o : Instances1.hs Instances1.o : Instances2.hi-boot Instances1.o : Types.hi # DO NOT DELETE: End of Haskell dependencies }}} I believe GHC should have produced the following dependencies as well: {{{ Instances1.o : Instances1.hi-boot Instances2.o : Instances2.hi-boot }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14481#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler