Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile failure / inaccurate version bounds #46

Closed
hvr opened this issue Dec 12, 2016 · 1 comment
Closed

Compile failure / inaccurate version bounds #46

hvr opened this issue Dec 12, 2016 · 1 comment

Comments

@hvr
Copy link

hvr commented Dec 12, 2016

The release declares

  build-depends:     base >= 4 && <5

However, GHC 7.8 and GHC 7.6 disagree:

Configuring component lib from path-0.5.11
Preprocessing library path-0.5.11...
[1 of 2] Compiling Path.Internal    ( src/Path/Internal.hs, /tmp/matrix-worker/1481029286/dist-newstyle/build/x86_64-linux/ghc-7.8.4/path-0.5.11/build/Path/Internal.o )
[2 of 2] Compiling Path             ( src/Path.hs, /tmp/matrix-worker/1481029286/dist-newstyle/build/x86_64-linux/ghc-7.8.4/path-0.5.11/build/Path.o )

src/Path.hs:415:10:
    Could not deduce (Functor m) arising from a use of ‘fmap’
    from the context (MonadThrow m)
      bound by the type signature for
                 setFileExtension :: MonadThrow m =>
                                     String -> Path b File -> m (Path b File)
      at src/Path.hs:(409,21)-(412,20)
    Possible fix:
      add (Functor m) to the context of
        the type signature for
          setFileExtension :: MonadThrow m =>
                              String -> Path b File -> m (Path b File)
    In the expression:
      fmap coerce (parseAbsFile (FilePath.replaceExtension path ext))
    In the expression:
      if FilePath.isAbsolute path then
          fmap coerce (parseAbsFile (FilePath.replaceExtension path ext))
      else
          fmap coerce (parseRelFile (FilePath.replaceExtension path ext))
    In an equation for ‘setFileExtension’:
        setFileExtension ext (Path path)
          = if FilePath.isAbsolute path then
                fmap coerce (parseAbsFile (FilePath.replaceExtension path ext))
            else
                fmap coerce (parseRelFile (FilePath.replaceExtension path ext))
Configuring component lib from path-0.5.11
Preprocessing library path-0.5.11...

src/Path.hs:59:18:
    Could not find module `Data.Coerce'
    Use -v to see a list of the files searched for.

@mrkkrp
Copy link
Collaborator

mrkkrp commented Feb 3, 2017

Yep, I'm now deciding wether to drop path as a dependency or drop support for older GHCs for one project. CI could help here to ensure that the package builds OK with all GHC versions.

Edit: Ah no, wrong, path has CI enabled and it passes for 7.6, but still the library fails to build for me and @hvr...

chrisdone added a commit that referenced this issue Feb 4, 2017
mrkkrp added a commit that referenced this issue Mar 1, 2017
This easier-to-read script uses Cabal for builds. I don't use Cabal, but for
CI it may be better because it allows to build in more adverse environment
and what builds with Cabal will sure build with Stack and appropriate
resolver. I hope this should help catch things like #46 in the future.

This also adds a check that we can generate tarball distribution without
issues and that Haddock coverage is 100%.
mrkkrp added a commit that referenced this issue Mar 1, 2017
This easier-to-read script uses Cabal for builds. I don't use Cabal, but for
CI it may be better because it allows to build in more adverse environment
and what builds with Cabal will sure build with Stack and appropriate
resolver. I hope this should help catch things like #46 in the future.

This also adds a check that we can generate tarball distribution without
issues and that Haddock coverage is 100%.
mrkkrp added a commit that referenced this issue Mar 1, 2017
Close #46.

Also drop redundant denpendencies for test suites and align Cabal file for
consistency (could not resist!).
mrkkrp added a commit that referenced this issue Mar 2, 2017
This easier-to-read script uses Cabal for builds. I don't use Cabal, but for
CI it may be better because it allows to build in more adverse environment
and what builds with Cabal will sure build with Stack and appropriate
resolver. I hope this should help catch things like #46 in the future.

This also adds a check that we can generate tarball distribution without
issues and that Haddock coverage is 100%.
mrkkrp added a commit that referenced this issue Mar 2, 2017
Close #46.

Also drop redundant denpendencies for test suites and align Cabal file for
consistency (could not resist!).
mrkkrp added a commit that referenced this issue Mar 2, 2017
Close #46.

Also drop redundant denpendencies for test suites and align Cabal file for
consistency (could not resist!).
mrkkrp added a commit that referenced this issue Mar 3, 2017
Close #46.

Also drop redundant denpendencies for test suites and align Cabal file for
consistency (could not resist!).
sjakobi pushed a commit that referenced this issue Mar 3, 2017
Close #46.

Also drop redundant denpendencies for test suites and align Cabal file for
consistency (could not resist!).
mrkkrp added a commit that referenced this issue Mar 3, 2017
This easier-to-read script uses Cabal for builds. I don't use Cabal, but for
CI it may be better because it allows to build in more adverse environment
and what builds with Cabal will sure build with Stack and appropriate
resolver. I hope this should help catch things like #46 in the future.

This also adds a check that we can generate tarball distribution without
issues and that Haddock coverage is 100%.
sjakobi pushed a commit that referenced this issue Mar 4, 2017
This easier-to-read script uses Cabal for builds. I don't use Cabal, but for
CI it may be better because it allows to build in more adverse environment
and what builds with Cabal will sure build with Stack and appropriate
resolver. I hope this should help catch things like #46 in the future.

This also adds a check that we can generate tarball distribution without
issues and that Haddock coverage is 100%.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants