You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
buildExe ignores the Cabal macros cache in dist.nnnn/ directory and generates and uses it's own cache under the dist.nnnn/build/autogen/ directory. In the result, it does not benefit from caching, ignores explicit cache overrides via SessionInitParams and behaves differently (because the cached macros are for all packages in DB, not just for the packages the program depends on). See FIXME in tests "Caching cabal macros" and "Use cabal macro MIN_VERSION for a package we don't really depend on" on branch runExe.
Probably just using the default Cabal location (autogen/) in our GHC API server would fix this (though I seem to remember the location was changed at some point due to some problems, so I have to search closed issues). But this is separate from #181, though revealed by testing #181, so I'm reporting here to fix later on, when higher priority issues are done.
Note to self: grep through sources for related comments, TODOs and changelog items.
The text was updated successfully, but these errors were encountered:
I've spent an hour grepping and testing and I've discovered only one related worrying issue, namely that compilation of C files doesn't take into account any cabal macros (because the macros we generate are at the wrong location and because we don't invoke the whole cabal building initialization routine that generates the macros independently in case of buildExe). I will revisit the issue when #189 is resolved and we know if dist/build/ is still often wiped out or not.
OTOH, the main problem (buildExe using a different macros files) turned out to be an old, known problem (just manifesting in a couple more tests now), so I won't spend time on that, unless requested. This was discussed here
and the situation is now only a bit worse, due to wiping out dist/build/ (see #189; currently, if we wanted to put the macros in dist/build/autogen, they would be wiped each time buildExe is invoked).
buildExe ignores the Cabal macros cache in dist.nnnn/ directory and generates and uses it's own cache under the dist.nnnn/build/autogen/ directory. In the result, it does not benefit from caching, ignores explicit cache overrides via SessionInitParams and behaves differently (because the cached macros are for all packages in DB, not just for the packages the program depends on). See FIXME in tests "Caching cabal macros" and "Use cabal macro MIN_VERSION for a package we don't really depend on" on branch runExe.
Probably just using the default Cabal location (autogen/) in our GHC API server would fix this (though I seem to remember the location was changed at some point due to some problems, so I have to search closed issues). But this is separate from #181, though revealed by testing #181, so I'm reporting here to fix later on, when higher priority issues are done.
Note to self: grep through sources for related comments, TODOs and changelog items.
The text was updated successfully, but these errors were encountered: