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 <allbery.b@gmail.com> wrote:
On Sun, May 11, 2014 at 8:58 PM, John Ky <john@gocatch.com> 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



  Sydney, Australia