Hi Norman, I think you are overcomplicating things quite a bit.
1. Build a HEAD (9.3) compiler 2. Setup a normal cabal project to depend on the `ghc` library 3. Use the cabal -w option to point to your HEAD compiler to build the project (`cabal build -w /path/to/head`) That will work reliably rather than messing around with package databases. Matt On Thu, Sep 23, 2021 at 7:31 PM Norman Ramsey <n...@cs.tufts.edu> wrote: > > I'm writing client code against the GHC API in HEAD (version 9.3), > using 9.0.1 as my bootstrap compiler. To make it possible to build > this code, I've set up cabal using > > cabal v1-configure \ > --package-db clear \ > --package-db $STAGE0/lib/package.conf.d/ # stage0 libraries > > In my Haskell code I'm invoking `runGhc (Just thelibdir)` where > > thelibir = "/home/nr/asterius/ghc/_build/stage0/lib" > > which is my `$STAGE0/lib`. > > Unfortunuately, when I launch my app, `setSessionDynFlags` panics. > The output, along with some diagnostic information about some dflags > that seemed relevant, looks like this: > > libdir = /home/nr/asterius/ghc/_build/stage0/lib > includePaths = IncludeSpecs {includePathsQuote = [], includePathsGlobal = > [], includePathsQuoteImplicit = []} > libraryPaths = [] > packageDBFlags = [] > packageEnv = Nothing > panic! (the 'impossible' happened) > GHC version 9.3.20210918: > GHC couldn't find the RTS constants (#define HS_CONSTANTS ") in > /home/nr/.ghcup/ghc/9.0.1/lib/ghc-9.0.1/include/DerivedConstants.h: the RTS > package you are trying to use is perhaps for another GHC version(e.g. you are > using the wrong package database) or the package database is broken. > > CallStack (from HasCallStack): > error, called at > _build/stage0/compiler/build/GHC/Platform/Constants.hs:143:20 in > ghc:GHC.Platform.Constants > > Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug > > > I'm a little suprprised that my app is hunting for 9.3 information in > the tree that belongs to the bootstrap compiler. > > I could start tinkering with `packageEnv` or other dflags, but I'm on > thin ice here, and I thought it made more sense to ask for advice. > > What is going on in my configuration, and how can I set up my app so > it is using the library in my `libdir` rather than the library that > belongs to the bootstrap compiler? > > > Norman > _______________________________________________ > ghc-devs mailing list > ghc-devs@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs