
Hi Brandon,
I definitely have only one instance installed:
root@26fc365ee4e6:/# ghc-pkg list | grep hash
cryptohash-0.11.2
cryptohash-cryptoapi-0.1.0
hashable-1.2.1.0
hashed-storage-0.5.10
hashtables-1.0.1.8
murmur-hash-0.1.0.6
static-hash-0.0.1
The ubuntu system was built using this Dockerfile from using only standard
apt-get commands:
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install -y fakeroot curl dnsutils git golang jq openssh-client
openssh-server redis-server telnet unzip vim wget
RUN apt-get install -y ghc
RUN apt-get install -y libghc-hdbc-dev
RUN apt-get install -y libghc-hdbc-postgresql-dev
RUN apt-get install -y libghc-hdbc-sqlite3-dev
RUN apt-get install -y libghc-zeromq3-haskell-dev
RUN apt-get install -y libghc-lens-dev
RUN apt-get install -y libghc-aeson-dev libghc-aeson-pretty-dev
libghc-lens-aeson-dev
RUN apt-get install -y libghc-hashable-dev
RUN apt-get install -y cabal-debian
RUN apt-get install -y libghc-cryptohash-cryptoapi-dev
libghc-cryptohash-dev libghc-digest-dev libghc-hashable-dev
libghc-hashed-storage-dev libghc-hashtables-dev libghc-intern-dev
libghc-murmur-hash-dev libghc-puremd5-dev libghc-skein-dev
libghc-static-hash-dev libghc-unordered-containers-dev
RUN apt-get clean
Cheers,
-John
On 12 May 2014 11:03, Brandon Allbery
On Sun, May 11, 2014 at 8:58 PM, John Ky
wrote: I have some code that compiles when running on GHC on OS X, but not on Ubuntu:
No instance for (hashable-1.2.1.0:Data.Hashable.Class.GHashable (GHC.Generics.Rep Point)) arising from a use of `hashable-1.2.1.0:Data.Hashable.Class.$gdmhashWithSalt' Possible fix: add an instance declaration for (hashable-1.2.1.0:Data.Hashable.Class.GHashable (GHC.Generics.Rep Point)) In the expression: (hashable-1.2.1.0:Data.Hashable.Class.$gdmhashWithSalt) In an equation for `hashWithSalt': hashWithSalt = (hashable-1.2.1.0:Data.Hashable.Class.$gdmhashWithSalt) In the instance declaration for `Hashable Point'
The fully qualified (with package name/version) typeclass makes me think you have multiple versions of the hashable package installed, and the one your source is using is different from one pulled in by something else.
ghc makes it dangerous to have multiple versions of a package installed. Use `ghc-pkg list` to make sure you have only one; if there is one in the global section and another in the local section, remove the local one and reinstall anything broken by that with `cabal install $thepackage --constraint='hashable installed'`.
-- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
-- http://www.gocatch.com/ Sydney, Australia https://www.facebook.com/goCatch https://twitter.com/gocatchapp http://www.linkedin.com/company/goCatch https://itunes.apple.com/au/app/gocatch/id444439909?mt=8 https://play.google.com/store/apps/details?id=com.gocatchapp.goCatch&hl=en http://www.windowsphone.com/en-au/store/app/gocatch/d76b0eb5-bad6-429f-b99e-... http://appworld.blackberry.com/webstore/content/31917887/