Strange package error -- HELP!
Friends I'm getting this from my newly-built in-tree compiler ~/code/HEAD-11/_build/ghc-stage1 -c T24984.hs -O T24984.hs:1:1: error: [ ]8;;https://errors.haskell.org/messages/GHC-45102 \GHC-45102 ]8;; \] Ambiguous module name ‘Prelude’. * it was found in multiple packages: base-4.22.0.0 base-4.22.0.0* What a bonkers message. What is going wrong? I do see this: ls -d /home/simonpj/code/HEAD-11/_build/stage1/lib/x86_64-linux-ghc-9.15.20251119/base* /home/simonpj/code/HEAD-11/_build/stage1/lib/x86_64-linux-ghc-9.15.20251119/base-4.22.0.0-c7d2 /home/simonpj/code/HEAD-11/_build/stage1/lib/x86_64-linux-ghc-9.15.20251119/base-4.22.0.0-inplace simonpj@LHR-WD-22561:~/code/HEAD-11/testsuite/tests/perf/compiler$ So there are two base packages around somehow. I don't know if that's the reason. I'd love a bit of help.. it's super annoying Maybe it's some leftover not-clean stuff -- but how would I diagnose? How can I see what package directories it is looking in, which package files it is reading? THanks Simon
Hi Simon,
It looks like you've done a release flavour build (which produces
packages tagged with hash) and a non-release flavour like perf or
quick (packages with -inplace tag) in this tree. What happened is that
stale package config files from an earlier build got registered into
the package database. You can fix it for now by removing
_stage1/lib/package.conf.d and running the build again. This should be
much quicker than rebuilding everything.
If you only run non-release builds, you don't end up in this
situation, since the inplace package config files have the same
filename every time.
The underlying issue should really be fixed in hadrian: It should
ensure that stale package configs from earlier builds never get into
the package database.
cheers,
Luite
On Tue, Dec 2, 2025 at 5:10 PM Simon Peyton Jones
Friends
I'm getting this from my newly-built in-tree compiler
~/code/HEAD-11/_build/ghc-stage1 -c T24984.hs -O T24984.hs:1:1: error: [ ]8;;https://errors.haskell.org/messages/GHC-45102 \GHC-45102 ]8;; \] Ambiguous module name ‘Prelude’. it was found in multiple packages: base-4.22.0.0 base-4.22.0.0
What a bonkers message. What is going wrong?
I do see this:
ls -d /home/simonpj/code/HEAD-11/_build/stage1/lib/x86_64-linux-ghc-9.15.20251119/base* /home/simonpj/code/HEAD-11/_build/stage1/lib/x86_64-linux-ghc-9.15.20251119/base-4.22.0.0-c7d2 /home/simonpj/code/HEAD-11/_build/stage1/lib/x86_64-linux-ghc-9.15.20251119/base-4.22.0.0-inplace simonpj@LHR-WD-22561:~/code/HEAD-11/testsuite/tests/perf/compiler$
So there are two base packages around somehow. I don't know if that's the reason.
I'd love a bit of help.. it's super annoying
Maybe it's some leftover not-clean stuff -- but how would I diagnose? How can I see what package directories it is looking in, which package files it is reading?
THanks
Simon _______________________________________________ ghc-devs mailing list -- ghc-devs@haskell.org To unsubscribe send an email to ghc-devs-leave@haskell.org
participants (2)
-
Luite Stegeman -
Simon Peyton Jones