Using the ghc-api to run more than one instance of ghc simultaneously

Marc Weber marco-oweber at
Mon Jul 13 16:53:31 EDT 2009

> Yes, it is a known limitation.  It ought to be documented somewhere.
> There are two problems:
>   1. GHC is not thread-safe.  There are some items of global state (the
>      NameCache and the PackageInterfaceTable) that should be protected.
>      It's not a trivial matter to do this - we had a hacky solution for
>      the parallel compilation experiment we did a while back, but it
>      wasn't finished.
>      You could workaround this by using a mutex and only invoking GHC
>      API operations in one thread at a time.
>   2. There is only one RTS linker with a single symbol table.  This is
>      the problem you ran into.  There's no workaround that I'm aware
>      of.

Are there already bug tracker items for these two problems?
I've tried finding them but didn't succeed. This would be a fast way to
document this issue even if its unlikely to be fixed soon.

Marc Weber

More information about the Glasgow-haskell-users mailing list