cdepillabout / servant-rawm

Effectful Raw handler for Servant servers.
https://hackage.haskell.org/package/servant-rawm
BSD 3-Clause "New" or "Revised" License
16 stars 7 forks source link

Build issue #17

Closed b-janus closed 3 years ago

b-janus commented 3 years ago

Hi, I was trying to build servant-rawm-server 1.0.0.0 and I'm getting the following error:

servant-rawm-server> configure servant-rawm-server> Configuring servant-rawm-server-1.0.0.0... servant-rawm-server> build servant-rawm-server> Preprocessing library for servant-rawm-server-1.0.0.0.. servant-rawm-server> Building library for servant-rawm-server-1.0.0.0.. servant-rawm-server> [1 of 1] Compiling Servant.RawM.Server servant-rawm-server> servant-rawm-server> /tmp/stack-4bb45c3e3977ea29/servant-rawm-server-1.0.0.0/src/Servant/RawM/Server.hs:124:24: error: servant-rawm-server> Ambiguous occurrence ‘serveDirectoryWith’ servant-rawm-server> It could refer to either ‘Servant.RawM.serveDirectoryWith’, servant-rawm-server> imported from ‘Servant.RawM’ at src/Servant/RawM/Server.hs:56:1-19 servant-rawm-server> (and originally defined in ‘Servant.RawM.Internal.Server’) servant-rawm-server> or ‘Servant.RawM.Server.serveDirectoryWith’, servant-rawm-server> defined at src/Servant/RawM/Server.hs:143:1 servant-rawm-server> | servant-rawm-server> 124 | serveDirectoryWebApp = serveDirectoryWith . defaultWebAppSettings . addTrailingPathSeparator servant-rawm-server> | ^^^^^^^^^^^^^^^^^^ servant-rawm-server> servant-rawm-server> /tmp/stack-4bb45c3e3977ea29/servant-rawm-server-1.0.0.0/src/Servant/RawM/Server.hs:128:28: error: servant-rawm-server> Ambiguous occurrence ‘serveDirectoryWith’ servant-rawm-server> It could refer to either ‘Servant.RawM.serveDirectoryWith’, servant-rawm-server> imported from ‘Servant.RawM’ at src/Servant/RawM/Server.hs:56:1-19 servant-rawm-server> (and originally defined in ‘Servant.RawM.Internal.Server’) servant-rawm-server> or ‘Servant.RawM.Server.serveDirectoryWith’, servant-rawm-server> defined at src/Servant/RawM/Server.hs:143:1 servant-rawm-server> | servant-rawm-server> 128 | serveDirectoryFileServer = serveDirectoryWith . defaultFileServerSettings . addTrailingPathSeparator servant-rawm-server> | ^^^^^^^^^^^^^^^^^^ servant-rawm-server> servant-rawm-server> /tmp/stack-4bb45c3e3977ea29/servant-rawm-server-1.0.0.0/src/Servant/RawM/Server.hs:133:3: error: servant-rawm-server> Ambiguous occurrence ‘serveDirectoryWith’ servant-rawm-server> It could refer to either ‘Servant.RawM.serveDirectoryWith’, servant-rawm-server> imported from ‘Servant.RawM’ at src/Servant/RawM/Server.hs:56:1-19 servant-rawm-server> (and originally defined in ‘Servant.RawM.Internal.Server’) servant-rawm-server> or ‘Servant.RawM.Server.serveDirectoryWith’, servant-rawm-server> defined at src/Servant/RawM/Server.hs:143:1 servant-rawm-server> | servant-rawm-server> 133 | serveDirectoryWith . flip webAppSettingsWithLookup etag . addTrailingPathSeparator servant-rawm-server> | ^^^^^^^^^^^^^^^^^^ servant-rawm-server> servant-rawm-server> /tmp/stack-4bb45c3e3977ea29/servant-rawm-server-1.0.0.0/src/Servant/RawM/Server.hs:137:32: error: servant-rawm-server> Ambiguous occurrence ‘serveDirectoryWith’ servant-rawm-server> It could refer to either ‘Servant.RawM.serveDirectoryWith’, servant-rawm-server> imported from ‘Servant.RawM’ at src/Servant/RawM/Server.hs:56:1-19 servant-rawm-server> (and originally defined in ‘Servant.RawM.Internal.Server’) servant-rawm-server> or ‘Servant.RawM.Server.serveDirectoryWith’, servant-rawm-server> defined at src/Servant/RawM/Server.hs:143:1 servant-rawm-server> | servant-rawm-server> 137 | serveDirectoryEmbedded files = serveDirectoryWith (embeddedSettings files) servant-rawm-server> | ^^^^^^^^^^^^^^^^^^ servant-rawm-server>

I'm building with stack lts-14.27, seems weird there are no similar issues, but I'm not very experienced so I'm probably missing something.

cdepillabout commented 3 years ago

@Janus3141 Sorry you're having trouble with this.

We have a CI job that currently tests building servant-rawm (and servant-rawm-server) with LTS-14: https://travis-ci.org/github/cdepillabout/servant-rawm/jobs/710194225

The last commit that was merged into master seems to build fine (above link), so I am somewhat surprised you are having trouble with this.

Could you post a full example somewhere of what you're having trouble with? Or the full set of commands you have to run to reproduce this problem?

Krasjet commented 3 years ago

It seems that you are using an old version of servant-rawm (< 1.0.0.0). Add the following to your stack.yaml and try build again.

extra-deps:
- servant-rawm-1.0.0.0
- servant-rawm-server-1.0.0.1

servant-rawm-server-1.0.0.1 should provide a more meaning for error message for this. This was fixed in e6b7dd6.

cdepillabout commented 3 years ago

@Krasjet Thanks!

I'm going to go ahead and close this, since it sounds like @Krasjet is correct here, but if this doesn't fix your problem @Janus3141, please feel free to post another comment and re-open this issue.

b-janus commented 3 years ago

Yes it solved it, as I said I was trying to build servant-rawm-server 1.0.0.0, but had to use 1.0.0.1 instead, I think I just confused the versions with servant-rawm. Sorry and thank you very much for your help.