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