Skip to content

When built via nix-shell, Eta seems to miss pkg-db (missing base and other core libraries) #402

@fmthoma

Description

@fmthoma

Steps I took to build Eta on NixOS 17.03:

  • Clone repo recursively, check out 0.0.6b6
  • nix-shell -A eta-build-shell
  • etlas update

So far, everything worked fine.

  • Now I created a helloworld project (mkdir helloworld && cd helloworld && etlas init)
  • etlas build fails with the following error:
    src/Main.hs:1:1:
    Could not find module ‘Prelude’
    Use -v to see a list of the files searched for.
    
  • The same error occurs when directly invoking eta src/Main.hs
  • etlas install --dependencies-only says:
    Resolving dependencies...
    All the requested packages are already installed:
    Use --reinstall if you want to reinstall anyway.
    

After trying to re-build Eta several times, I found out the following:

  • Eta seems to search for a packages.conf.d with a packages.cache in ~/.eta.
  • Immediately when entering the nix shell, ~/.eta/packages.conf.d (in fact ~/.eta) seems to be missing.
  • After running eta (or etlas build), the directory and a packages.cache is created, but the core libraries are missing, hence the »missing Prelude«.

Creating a sandbox (etlas sandbox init) does not help either.

Did I miss some step? Or is the Nix shell currently broken?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions