GithubHelp home page GithubHelp logo

Comments (3)

milosgajdos avatar milosgajdos commented on August 24, 2024 1

Hi, thanks for opening the issue.

The examples build well if built as part of the project (make examples) because when you run make dep it vendors the dependencies into vendor/ subdirectory (not tracked by git).

Dependency vendoring is done using godep which honours the versions of the packages locked in Gopkg.lock, which locks the gonum/stat package (used in nosie/gaussian.go) to:

revision = "169ee079a3fcd6706a67702cf202192814167c28"

as you can see here

However, if you copy over any of the examples outside the project and try to vendor them on their master revisions i.e. on the latest available dependencies the build will fail as you've just noticed

The reasons is the change in gonum/stat package which changed the stat/distmv/normal.go API as can be seen here vs. the locked old version here which is used in go-estimate.

I suspect you are using go modules (based on the output of your commands) which is beta in 1.12?

Unfortunately go mod support in this library is very alpha. Clearly, it needs to be sorted to prepare for the next release of go.

I will have some time for this hopefully early next week to look into this, for the time being, when trying to compile the examples outside the project you will have to pin gonum dependency to some commit before the 169ee079a3fcd6706a67702cf202192814167c28 revision of gonum/stat as described earlier.

If you find some time to fix this for everyone I welcome PRs :-)

I'm also wondering if it makes sense to do standalone vendoring of the examples, but I'd like to avoid taking that route for the time being

from go-estimate.

4nte avatar 4nte commented on August 24, 2024

I have the same problem.
image

I'm using go version go1.12.1 darwin/amd64

from go-estimate.

milosgajdos avatar milosgajdos commented on August 24, 2024

I have updated and cleaned up project dependencies.

Thanks again for raising an issue as it has highlighted the chaotic mess the dependency tree was in! As you can see by inspecting go.mod or Gopkg.toml they're now much leaner and cleaner.

I've tested the build using the go mod, so you should be able to verify it using the following steps:

  • copy bf.go outside project directory tree
  • change to the directory where you copied bf.go
  • run export GO111MODULE=on to enable go module support
  • go mod init
  • go build
  • profit :-)

from go-estimate.

Related Issues (6)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.