cmdstan: `make build` fails

Summary:

When running make build with a fresh cmdstan there’s no /bin

I’m getting the following errors

Current Output:

download of new compiler fails

Expected Output:

new compiler downloads

Additional Information:

Provide any additional information here.

Current Version:

v2.22.0

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 15 (15 by maintainers)

Most upvoted comments

So https://github.com/stan-dev/cmdstan/commit/e9075d0b750205cfe23f4f86cef59446b27db8d5 should be merged cherry-picked to the current master and released as 2.22.1 with a new tarball that also contains bin/windows-stanc, bin/linux-stanc, bin/mac-stanc.

cc @serban-nicusor-toptal

I think 2.22.1 would be better, as this would a huge release and I am almost sure other issue will come up that will require additional patches. Not going to oppose though.

Ok, got to the bottom of how this happened. I reviewed #799 while on Windows and on Windows mkdir is used https://github.com/stan-dev/cmdstan/blob/develop/make/stanc#L51

Before #799, mkdir was used in both Windows and non-windows, so what I said before “The way stanc is download has stayed the same for 3 months now” doesnt hold. Sorry. I also tend to use parallel build locally so I didnt spot this before.

As to why Jenkins passes: because of parallel builds. bin/cmdstan/diagnose or something else is built before the binary is downloaded. Argh. We should maybe add something like this to one of the interface tests:

make -j1 build
make clean-all
//proceed as before

Got a fix in #805. We were just missing a one liner to make the bin directory.

We only released like two days ago so I don’t see this as a big sweat as long as we get it in soon