Skip to content

Consider including GHC version in executable name #23

Description

@seagreen

My understanding is that the GHC version used to build haskell-code-explorer needs to match the GHC version of the project you're indexing (eg see #16 (comment)).

This wasn't initially clear to me when initially trying to get haskell-code-indexer working, and using a haskell-code-indexer built with the wrong version of GHC lead to confusing error messages, eg

2019-03-20 17:18:19.736738839 EDT : [error] Error while indexing component li
KSLx7jSwdIM:
    MonadRandom-0.5.1.1-9vmCiRoafqTKSLx7jSwdIM is unusable due to missing dep
      primitive-0.6.4.0-1mvPxVOk6Q6KOkWCZxqESf transformers-0.5.5.0 transform
    (use -v for more information)

Because of this, would it make sense to adopt Haskell IDE Engine's convention for executable naming? They append each executable with the GHC version used to build it, eg:

$ ls hie*
hie      hie-8.2.1  hie-8.4    hie-8.4.3  hie-8.6    hie-8.6.2
hie-8.2  hie-8.2.2  hie-8.4.2  hie-8.4.4  hie-8.6.1  hie-wrapper

As you can see they also build one version of hie without the GHC version appended, but I'm not sure we even need that.

This would also make it really easy to have lots of different versions of haskell-code-indexer on your machine at once.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions