mikeizbicki / HLearn

Homomorphic machine learning
Other
1.62k stars 135 forks source link

Compile error of HLearn-classification #30

Closed nebuta closed 9 years ago

nebuta commented 10 years ago

I see this compile error when installing HLearn-classification-1.0.1.1. My environment is GHC 7.6.3 with HP 2013.2 on Mac OSX 10.9.

I'm very interested in this HLearn library, and thanks for your help!

Downloading HLearn-classification-1.0.1.1...
Configuring HLearn-classification-1.0.1.1...
Building HLearn-classification-1.0.1.1...
Preprocessing library HLearn-classification-1.0.1.1...
[ 1 of 11] Compiling HLearn.Models.Classifiers.Centroid ( src/HLearn/Models/Classifiers/Centroid.hs, dist/build/HLearn/Models/Classifiers/Centroid.o )
[ 2 of 11] Compiling HLearn.Models.Classifiers.Common ( src/HLearn/Models/Classifiers/Common.hs, dist/build/HLearn/Models/Classifiers/Common.o )
[ 3 of 11] Compiling HLearn.Models.Classifiers.Bayes ( src/HLearn/Models/Classifiers/Bayes.hs, dist/build/HLearn/Models/Classifiers/Bayes.o )

src/HLearn/Models/Classifiers/Bayes.hs:51:40:
    Could not deduce (label ~ prob)
    from the context (Labeled (Datapoint (Bayes labelLens dist)),
                      Margin labelLens dist ~ Categorical label prob,
                      Ord label,
                      Ord prob,
                      Fractional prob,
                      label ~ Label (Datapoint dist),
                      prob ~ Probability (MarginalizeOut labelLens dist),
                      Labeled (Datapoint dist),
                      Datapoint (MarginalizeOut labelLens dist)
                      ~ Attributes (Datapoint dist),
                      PDF (MarginalizeOut labelLens dist),
                      PDF (Margin labelLens dist),
                      Marginalize labelLens dist)
      bound by the instance declaration
      at src/HLearn/Models/Classifiers/Bayes.hs:(36,5)-(45,53)
      `label' is a rigid type variable bound by
              the instance declaration
              at src/HLearn/Models/Classifiers/Bayes.hs:36:5
      `prob' is a rigid type variable bound by
             the instance declaration
             at src/HLearn/Models/Classifiers/Bayes.hs:36:5
    Expected type: label
      Actual type: Probability (MarginalizeOut labelLens dist)
    In the return type of a call of `pdf'
    In the second argument of `(*)', namely `pdf (attrDist k) dp'
    In the expression: pdf labelDist k * pdf (attrDist k) dp
Failed to install HLearn-classification-1.0.1.1
mikeizbicki commented 10 years ago

This is a problem with not using the same version of HLearn-distributions. Which version are you using?

The simplest fix is to download the dev branch from github, as the code has been refactored to ensure this doesn't happen in the future.

nh2 commented 10 years ago

This is a problem with not using the same version of HLearn-distributions. Which version are you using?

Unfortunately that is not the case, it fails with the most recent version of each package on Hackage:

HLearn-algebra-1.1.0.0
HLearn-classification-1.0.1.1
HLearn-datastructures-1.1.0
HLearn-distributions-1.1.0.1

It would be great if you could fix it, because your new refactoring isn't even available on Hackage and this breaks cabal install for all packages that depend on you (e.g. mine).

mikeizbicki commented 10 years ago

I've uploaded a new version (1.0.1.2) of the package to hackage. The only change is that the version of HLearn-distributions is required to be == 1.0.0.1 rather than >=. This should force the right version to be installed.

I can't test this because I've upgraded to GHC 7.8, which is not backwards compatible. Please let me know if this works.

Also, just for curiosity's sake, which models in HLearn are you dependent on?

tcfuji commented 10 years ago

This might be a related problem:

$ cabal install HLearn-classification
Resolving dependencies...
Configuring HLearn-distributions-1.0.0.1...
Building HLearn-distributions-1.0.0.1...
Failed to install HLearn-distributions-1.0.0.1
Last 10 lines of the build log ( ~/.cabal/logs/HLearn-distributions-1.0.0.1.log ):
    `basicSet' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeCopy' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeMove' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeGrow' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'
cabal: Error: some packages failed to install:
HLearn-classification-1.0.1.2 depends on HLearn-distributions-1.0.0.1 which
failed to install.
HLearn-distributions-1.0.0.1 failed during the building phase. The exception
was:
ExitFailure 1
mikeizbicki commented 10 years ago

Which version of GHC are you on?

This seems more related to https://github.com/mikeizbicki/HLearn/issues/34, which I fixed... Actually, I think I changed the constraints on HLearn-classification to require exactly version 1.0.0.1 of distributions, but the fixed version is 1.0.0.2.

Could you try downloading the tarball and modifying the dependencies to require HLearn-distributions-1.0.0.2. If this fixes the problem, then I'll upload a fixed version of HLearn-classification.

tcfuji commented 10 years ago

Using GHC 7.6.3

I tried to install HLearn-distributions-1.0.0.2 but I don't think it is available in Cabal:

$ cabal install HLearn-distributions-1.0.0.2
Resolving dependencies...
cabal: Could not resolve dependencies:
next goal: HLearn-distributions (user goal)
rejecting: HLearn-distributions-1.1.0.2, 1.1.0.1, 1.1.0, 1.0.0.1, 1.0.0,
0.2.2.1, 0.2.2, 0.2.1, 0.1.0.1, 0.1.0.0, 0.0.1.3, 0.0.1.2, 0.0.1.1, 0.0.1
(global constraint requires ==1.0.0.2)
Dependency tree exhaustively searched.
mikeizbicki commented 10 years ago

You need to run cabal update first to get the fresh repository listings.

tcfuji commented 10 years ago

Same response:

$ cabal update
Downloading the latest package list from hackage.haskell.org
Note: there is a new version of cabal-install available.
To upgrade, run: cabal install cabal-install
$ cabal install cabal-install
Resolving dependencies...
Configuring cabal-install-1.18.0.3...
Building cabal-install-1.18.0.3...
Installed cabal-install-1.18.0.3
$ cabal install HLearn-distributions-1.0.0.2
Resolving dependencies...
cabal: Could not resolve dependencies:
next goal: HLearn-distributions (user goal)
rejecting: HLearn-distributions-1.1.0.2, 1.1.0.1, 1.1.0, 1.0.0.1, 1.0.0,
0.2.2.1, 0.2.2, 0.2.1, 0.1.0.1, 0.1.0.0, 0.0.1.3, 0.0.1.2, 0.0.1.1, 0.0.1
(global constraint requires ==1.0.0.2)
Dependency tree exhaustively searched.
mikeizbicki commented 10 years ago

I'm sorry, I typoed the instructions above. It's HLearn-classification-1.0.1.2 that has been fixed with the updated dependencies, which is HLearn-distributions-1.0.0.1.

tcfuji commented 10 years ago

I'm getting the same problem from the start (even after deleting my .cabal and .ghc folders and updating). I'm starting to think there is a problem with HLearn-distribution-1.0.0.1 (or its interactions with its dependencies...so I guess this is what people call "cabal hell"?):

$ cabal update
Config file path source is default config file.
Config file ~/.cabal/config not found.
Writing default configuration to ~/.cabal/config
Downloading the latest package list from hackage.haskell.org
Note: there is a new version of cabal-install available.
To upgrade, run: cabal install cabal-install
$ cabal install HLearn-distributions-1.0.0.1
Resolving dependencies...
Downloading abstract-par-0.3.3...
Downloading cereal-0.4.0.1...
Downloading colour-2.3.3...
Configuring cereal-0.4.0.1...
Configuring abstract-par-0.3.3...
Downloading dlist-0.5...
Downloading erf-2.0.0.0...
Configuring colour-2.3.3...
Downloading list-extras-0.4.1.3...
Configuring dlist-0.5...
Configuring erf-2.0.0.0...
Downloading parallel-3.2.0.4...
Downloading primitive-0.5.2.1...
Configuring list-extras-0.4.1.3...
Downloading random-1.0.1.1...
Configuring parallel-3.2.0.4...
Configuring random-1.0.1.1...
Downloading storable-complex-0.2.1...
Downloading temporary-1.1.2.5...
Downloading text-1.1.0.1...
Downloading transformers-0.3.0.0...
Building random-1.0.1.1...
Building parallel-3.2.0.4...
Building erf-2.0.0.0...
Building colour-2.3.3...
Building cereal-0.4.0.1...
Building dlist-0.5...
Building abstract-par-0.3.3...
Building list-extras-0.4.1.3...
Installed list-extras-0.4.1.3
Configuring primitive-0.5.2.1...
Installed dlist-0.5
Configuring temporary-1.1.2.5...
Configuring storable-complex-0.2.1...
Installed abstract-par-0.3.3
Configuring transformers-0.3.0.0...
Installed erf-2.0.0.0
Building primitive-0.5.2.1...
Building temporary-1.1.2.5...
Building storable-complex-0.2.1...
Configuring text-1.1.0.1...
Installed parallel-3.2.0.4
Building transformers-0.3.0.0...
Building text-1.1.0.1...
Installed storable-complex-0.2.1
Installed temporary-1.1.2.5
Installed random-1.0.1.1
Downloading abstract-deque-0.3...
Downloading normaldistribution-1.1.0.3...
Configuring abstract-deque-0.3...
Configuring normaldistribution-1.1.0.3...
Building abstract-deque-0.3...
Building normaldistribution-1.1.0.3...
Installed colour-2.3.3
Installed primitive-0.5.2.1
Downloading tf-random-0.4...
Downloading vector-0.10.9.1...
Installed cereal-0.4.0.1
Installed transformers-0.3.0.0
Installed normaldistribution-1.1.0.3
Installed abstract-deque-0.3
Downloading mtl-2.1.3.1...
Configuring tf-random-0.4...
Building tf-random-0.4...
Configuring vector-0.10.9.1...
Building vector-0.10.9.1...
Configuring mtl-2.1.3.1...
Installed tf-random-0.4
Downloading QuickCheck-2.7.3...
Building mtl-2.1.3.1...
Installed mtl-2.1.3.1
Downloading MonadRandom-0.1.13...
Downloading fgl-5.4.2.4...
Configuring QuickCheck-2.7.3...
Building QuickCheck-2.7.3...
Downloading monad-par-extras-0.3.3...
Configuring MonadRandom-0.1.13...
Building MonadRandom-0.1.13...
Failed to install fgl-5.4.2.4
Last 10 lines of the build log ( ~/.cabal/logs/fgl-5.4.2.4.log ):
cabal: Configuring monad-par-extras-0.3.3...
~/.cabal/logs/fgl-5.4.2.4.log: does not exist
$ cabal install fgl-5.4.2.4
Resolving dependencies...
Configuring fgl-5.4.2.4...
Building fgl-5.4.2.4...
Installed fgl-5.4.2.4
$ cabal install HLearn-distributions-1.0.0.1
Resolving dependencies...
Configuring MonadRandom-0.1.13...
Configuring monad-par-extras-0.3.3...
Configuring QuickCheck-2.7.3...
Configuring vector-0.10.9.1...
Building MonadRandom-0.1.13...
Configuring text-1.1.0.1...
Building monad-par-extras-0.3.3...
Building QuickCheck-2.7.3...
Building vector-0.10.9.1...
Building text-1.1.0.1...
Installed MonadRandom-0.1.13
Installed monad-par-extras-0.3.3
Installed QuickCheck-2.7.3
Installed vector-0.10.9.1
Downloading ConstraintKinds-1.1.0.0...
Downloading hmatrix-0.15.2.0...
Downloading mwc-random-0.13.1.1...
Configuring ConstraintKinds-1.1.0.0...
Building ConstraintKinds-1.1.0.0...
Downloading vector-binary-instances-0.2.1.0...
Configuring hmatrix-0.15.2.0...
Downloading vector-heterogenous-0.1.2...
Configuring mwc-random-0.13.1.1...
Installed text-1.1.0.1
Building mwc-random-0.13.1.1...
Downloading vector-th-unbox-0.2.0.2...
Configuring vector-binary-instances-0.2.1.0...
Downloading hashable-1.2.1.0...
Configuring vector-heterogenous-0.1.2...
Building vector-binary-instances-0.2.1.0...
Building vector-heterogenous-0.1.2...
Downloading polyparse-1.8...
Configuring vector-th-unbox-0.2.0.2...
Installed ConstraintKinds-1.1.0.0
Building vector-th-unbox-0.2.0.2...
Installed vector-heterogenous-0.1.2
Downloading wl-pprint-text-1.1.0.2...
Configuring polyparse-1.8...
Installed vector-binary-instances-0.2.1.0
Configuring hashable-1.2.1.0...
Installed vector-th-unbox-0.2.0.2
Downloading math-functions-0.1.5.2...
Building polyparse-1.8...
Building hashable-1.2.1.0...
Configuring wl-pprint-text-1.1.0.2...
Building wl-pprint-text-1.1.0.2...
Configuring math-functions-0.1.5.2...
Installed hashable-1.2.1.0
Downloading HLearn-algebra-1.1.0.0...
Building math-functions-0.1.5.2...
Building hmatrix-0.15.2.0...
Configuring HLearn-algebra-1.1.0.0...
Building HLearn-algebra-1.1.0.0...
Installed wl-pprint-text-1.1.0.2
Installed mwc-random-0.13.1.1
Downloading monad-par-0.3.4.6...
Downloading vector-algorithms-0.6.0.1...
Installed math-functions-0.1.5.2
Installed HLearn-algebra-1.1.0.0
Configuring vector-algorithms-0.6.0.1...
Failed to install monad-par-0.3.4.6
Last 10 lines of the build log ( ~/.cabal/logs/monad-par-0.3.4.6.log ):
cabal: ~/.cabal/logs/monad-par-0.3.4.6.log: does not exist
$ cabal install monad-par-0.3.4.6
Resolving dependencies...
Configuring monad-par-0.3.4.6...
Building monad-par-0.3.4.6...
Installed monad-par-0.3.4.6
$ cabal install HLearn-distributions-1.0.0.1
Resolving dependencies...
Downloading graphviz-2999.16.0.0...
Configuring vector-algorithms-0.6.0.1...
Configuring hmatrix-0.15.2.0...
Building vector-algorithms-0.6.0.1...
Configuring graphviz-2999.16.0.0...
Building graphviz-2999.16.0.0...
Building hmatrix-0.15.2.0...
Installed vector-algorithms-0.6.0.1
Downloading statistics-0.11.0.0...
Configuring statistics-0.11.0.0...
Building statistics-0.11.0.0...
Installed hmatrix-0.15.2.0
Installed statistics-0.11.0.0
Installed graphviz-2999.16.0.0
Downloading HLearn-distributions-1.0.0.1...
Configuring HLearn-distributions-1.0.0.1...
Building HLearn-distributions-1.0.0.1...
Failed to install HLearn-distributions-1.0.0.1
Last 10 lines of the build log ( ~/.cabal/logs/HLearn-distributions-1.0.0.1.log ):
    `basicSet' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeCopy' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeMove' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeGrow' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'
cabal: Error: some packages failed to install:
HLearn-distributions-1.0.0.1 failed during the building phase. The exception
was:
ExitFailure 1
mikeizbicki commented 10 years ago

It appears the fix that was provided for bug #34 didn't fix the issue you're running into. I thought maybe it did because the error messages look very similar. Have you looked at that?

I honestly have no idea what could cause the error message you're getting. Those basicUnsafe... functions are in all the latest vector packages, and the dependencies clearly state that you need a vector >= 0.9. I just checked all the allowed vector packages, and they do have those functions.

So I think that somehow the Data.Vector.Generic.Mutable file is being imported, but the MVector type class and its functions are not. This is weird.

tcfuji commented 10 years ago

If this helps:

$ runhaskell Setup configure --user
Configuring HLearn-distributions-1.0.0.1...
$ runhaskell Setup build
Building HLearn-distributions-1.0.0.1...
Preprocessing library HLearn-distributions-1.0.0.1...
[ 1 of 21] Compiling HLearn.Models.Distributions.Multivariate.Internal.TypeLens ( src/HLearn/Models/Distributions/Multivariate/Internal/TypeLens.hs, dist/build/HLearn/Models/Distributions/Multivariate/Internal/TypeLens.o )
[ 2 of 21] Compiling HLearn.Models.Distributions.Common ( src/HLearn/Models/Distributions/Common.hs, dist/build/HLearn/Models/Distributions/Common.o )
[ 3 of 21] Compiling HLearn.Models.Distributions.Visualization.Gnuplot ( src/HLearn/Models/Distributions/Visualization/Gnuplot.hs, dist/build/HLearn/Models/Distributions/Visualization/Gnuplot.o )
[ 4 of 21] Compiling HLearn.Models.Distributions.Univariate.Categorical ( src/HLearn/Models/Distributions/Univariate/Categorical.hs, dist/build/HLearn/Models/Distributions/Univariate/Categorical.o )
[ 5 of 21] Compiling HLearn.Models.Distributions.Univariate.Internal.MissingData ( src/HLearn/Models/Distributions/Univariate/Internal/MissingData.hs, dist/build/HLearn/Models/Distributions/Univariate/Internal/MissingData.o )
[ 6 of 21] Compiling HLearn.Models.Distributions.Multivariate.MultiNormal ( src/HLearn/Models/Distributions/Multivariate/MultiNormal.hs, dist/build/HLearn/Models/Distributions/Multivariate/MultiNormal.o )
[ 7 of 21] Compiling HLearn.Models.Distributions.Univariate.Internal.Moments ( src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs, dist/build/HLearn/Models/Distributions/Univariate/Internal/Moments.o )
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package array-0.4.0.1 ... linking ... done.
Loading package deepseq-1.3.0.1 ... linking ... done.
Loading package bytestring-0.10.0.2 ... linking ... done.
Loading package containers-0.5.0.0 ... linking ... done.
Loading package binary-0.5.1.1 ... linking ... done.
Loading package erf-2.0.0.0 ... linking ... done.
Loading package primitive-0.5.2.1 ... linking ... done.
Loading package vector-0.10.9.1 ... linking ... done.
Loading package pretty-1.1.1.0 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package vector-th-unbox-0.2.0.2 ... linking ... done.
Loading package math-functions-0.1.5.2 ... linking ... done.
Loading package old-locale-1.0.0.5 ... linking ... done.
Loading package time-1.4.0.1 ... linking ... done.
Loading package random-1.0.1.1 ... linking ... done.
Loading package abstract-deque-0.3 ... linking ... done.
Loading package abstract-par-0.3.3 ... linking ... done.
Loading package cereal-0.4.0.1 ... linking ... done.
Loading package transformers-0.3.0.0 ... linking ... done.
Loading package mtl-2.1.3.1 ... linking ... done.
Loading package monad-par-extras-0.3.3 ... linking ... done.
Loading package mwc-random-0.13.1.1 ... linking ... done.
Loading package parallel-3.2.0.4 ... linking ... done.
Loading package monad-par-0.3.4.6 ... linking ... done.
Loading package vector-algorithms-0.6.0.1 ... linking ... done.
Loading package vector-binary-instances-0.2.1.0 ... linking ... done.
Loading package statistics-0.11.0.0 ... linking ... done.
Loading package normaldistribution-1.1.0.3 ... linking ... done.
Loading package list-extras-0.4.1.3 ... linking ... done.
Loading package filepath-1.3.0.1 ... linking ... done.
Loading package unix-2.6.0.1 ... linking ... done.
Loading package directory-1.2.0.1 ... linking ... done.
Loading package process-1.1.0.2 ... linking ... done.
Loading package storable-complex-0.2.1 ... linking ... done.
Loading package hmatrix-0.15.2.0 ... linking ... done.
Loading package colour-2.3.3 ... linking ... done.
Loading package dlist-0.5 ... linking ... done.
Loading package fgl-5.4.2.4 ... linking ... done.
Loading package text-1.1.0.1 ... linking ... done.
Loading package polyparse-1.8 ... linking ... done.
Loading package temporary-1.1.2.5 ... linking ... done.
Loading package wl-pprint-text-1.1.0.2 ... linking ... done.
Loading package graphviz-2999.16.0.0 ... linking ... done.
Loading package tf-random-0.4 ... linking ... done.
Loading package QuickCheck-2.7.3 ... linking ... done.
Loading package ConstraintKinds-1.1.0.0 ... linking ... done.
Loading package MonadRandom-0.1.13 ... linking ... done.
Loading package hashable-1.2.1.0 ... linking ... done.
Loading package vector-heterogenous-0.1.2 ... linking ... done.
Loading package HLearn-algebra-1.1.0.0 ... linking ... done.

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeFreeze' is not a (visible) method of class `Data.Vector.Generic.Base.Vector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeThaw' is not a (visible) method of class `Data.Vector.Generic.Base.Vector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicLength' is not a (visible) method of class `Data.Vector.Generic.Base.Vector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeSlice' is not a (visible) method of class `Data.Vector.Generic.Base.Vector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeIndexM' is not a (visible) method of class `Data.Vector.Generic.Base.Vector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeCopy' is not a (visible) method of class `Data.Vector.Generic.Base.Vector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `elemseq' is not a (visible) method of class `Data.Vector.Generic.Base.Vector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeFreeze' is not a (visible) method of class `Data.Vector.Generic.Base.Vector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeThaw' is not a (visible) method of class `Data.Vector.Generic.Base.Vector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicLength' is not a (visible) method of class `Data.Vector.Generic.Base.Vector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeSlice' is not a (visible) method of class `Data.Vector.Generic.Base.Vector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeIndexM' is not a (visible) method of class `Data.Vector.Generic.Base.Vector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeCopy' is not a (visible) method of class `Data.Vector.Generic.Base.Vector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `elemseq' is not a (visible) method of class `Data.Vector.Generic.Base.Vector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicLength' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeSlice' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicOverlaps' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeNew' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeReplicate' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeRead' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeWrite' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicClear' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicSet' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeCopy' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeMove' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeGrow' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicLength' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeSlice' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicOverlaps' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeNew' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeReplicate' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeRead' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeWrite' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicClear' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicSet' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeCopy' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeMove' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'

src/HLearn/Models/Distributions/Univariate/Internal/Moments.hs:45:1:
    `basicUnsafeGrow' is not a (visible) method of class `Data.Vector.Generic.Mutable.MVector'
tcfuji commented 10 years ago

Tried HLearn-classification-1.0.1.1

Failed to install HLearn-classification-1.0.1.1
Last 10 lines of the build log ( /Users/tf/.cabal/logs/HLearn-classification-1.0.1.1.log ):
              the instance declaration
              at src/HLearn/Models/Classifiers/Bayes.hs:36:5
      `prob' is a rigid type variable bound by
             the instance declaration
             at src/HLearn/Models/Classifiers/Bayes.hs:36:5
    Expected type: label
      Actual type: Probability (MarginalizeOut labelLens dist)
    In the return type of a call of `pdf'
    In the second argument of `(*)', namely `pdf (attrDist k) dp'
    In the expression: pdf labelDist k * pdf (attrDist k) dp
cabal: Error: some packages failed to install:
HLearn-classification-1.0.1.1 failed during the building phase. The exception
was:
ExitFailure 1
mikeizbicki commented 10 years ago

Thanks for your persistence with this. But I don't know what to do to help at this point. I'm working on a new release that is very different from this old one, and I don't think it would be worth the time to try to solve this problem. Sorry :(

tcfuji commented 10 years ago

Don't worry. I just want to be able to use HLearn again. I hope the new release will make that possible.

cumber commented 10 years ago

@tfgit I encountered several of the errors you've reported here while experimenting with different versions from Hackage and version control to try to get something that would work; @mikeizbicki has uploaded new packages that resolved all the problems for me; using cabal install HLearn-algebra HLearn-classification HLearn-datastructures HLearn-distributions in a clean GHC install (no packages installed from prior attempts).

The dependencies are a little intricate though, so installing these one at a time might not work; giving them to cabal-install all at once allows it to resolve all the dependencies.

Hopefully this helps you as well.