LoadAllTargets not loading dependencies

Hello all, I've been following along with Stephen Diehl's blog series on the ghc api and I am using `load LoadAllTargets` on a .hs file (let's call it Wibble.hs) and then typechecking. All seems well until I add a second module (let's call it Wobble.hs) in the same package and import it from Wibble. I can see that the load has correctly calculated the dependency graph and includes Wobble in the dependencies of Wibble. But if I try to typecheck Wibble, then I get an error: Could not find module ‘Wobble’ Use -v to see a list of the files searched for. | 4 | import Wobble | ^^^^^^^^^^^^^^^^^^^^^^^ I have separately compiled the package, and can see its packagedb is listed in the .ghc.env file. What else do I need to do so that Wibble can see Wobble? -- Best regards, Sam

Hello Sam,
It'd be easier to help if you posted the complete example somewhere (e.g.
Github).
--
Best, Artem
On Wed, 7 Aug 2019 at 15:39, Sam Halliday
Hello all,
I've been following along with Stephen Diehl's blog series on the ghc api and I am using `load LoadAllTargets` on a .hs file (let's call it Wibble.hs) and then typechecking.
All seems well until I add a second module (let's call it Wobble.hs) in the same package and import it from Wibble.
I can see that the load has correctly calculated the dependency graph and includes Wobble in the dependencies of Wibble. But if I try to typecheck Wibble, then I get an error:
Could not find module ‘Wobble’ Use -v to see a list of the files searched for. | 4 | import Wobble | ^^^^^^^^^^^^^^^^^^^^^^^
I have separately compiled the package, and can see its packagedb is listed in the .ghc.env file. What else do I need to do so that Wibble can see Wobble?
-- Best regards, Sam _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Hi Artem,
You're quite right, because when I tried to minimise this I discovered
that it is actually a cabal env file bug! It seems that cabal v2-exec
produces different env files depending on if -w is used or not, and the
one I was using is the broken one.
Artem Pelenitsyn
Hello Sam,
It'd be easier to help if you posted the complete example somewhere (e.g. Github).
-- Best, Artem
On Wed, 7 Aug 2019 at 15:39, Sam Halliday
wrote: Hello all,
I've been following along with Stephen Diehl's blog series on the ghc api and I am using `load LoadAllTargets` on a .hs file (let's call it Wibble.hs) and then typechecking.
All seems well until I add a second module (let's call it Wobble.hs) in the same package and import it from Wibble.
I can see that the load has correctly calculated the dependency graph and includes Wobble in the dependencies of Wibble. But if I try to typecheck Wibble, then I get an error:
Could not find module ‘Wobble’ Use -v to see a list of the files searched for. | 4 | import Wobble | ^^^^^^^^^^^^^^^^^^^^^^^
I have separately compiled the package, and can see its packagedb is listed in the .ghc.env file. What else do I need to do so that Wibble can see Wobble?
-- Best regards, Sam _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
-- Best regards, Sam
participants (2)
-
Artem Pelenitsyn
-
Sam Halliday