Can’t make cmdstan 2.21.0 in Windows 10

Hello, I have some problems to build cmdstan 2.21.0 in Windows 10. I could download and install it without any difficulties. The PATH variable includes:
PATH=C:\Rtools\bin;C:\Rtools\mingw_32\bin;C:\cmdstan-2.21.0\stan\lib\stan_math\lib\tbb

C:\cmdstan-2.21.0>make build -j4
make: where: Command not found
touch stan/lib/stan_math/lib/tbb/version_tbb_2019_U8
tbb_root="…/tbb_2019_U8" CXX=“g++” CC=“gcc” LDFLAGS=’-Wl,-L,"" -Wl,-rpath,""’ make -C “stan/lib/stan_math/lib/tbb” -r -f “/build/Makefile.tbb” compiler=gcc cfg=release stdver=c++1y
make[1]: Entering directory /cygdrive/c/cmdstan-2.21.0/stan/lib/stan_math/lib/tbb' make[1]: /build/Makefile.tbb: No such file or directory make[1]: *** No rule to make target /build/Makefile.tbb’. Stop.
make[1]: Leaving directory `/cygdrive/c/cmdstan-2.21.0/stan/lib/stan_math/lib/tbb’
make: *** [stan/lib/stan_math/lib/tbb/tbb.def] Error 2

  • Operating System: Windows 10
  • CmdStan Version: cmdstan-2.21.0
  • Compiler/Toolkit: Rtools33

Is there any additional configurations necessary? I will be grateful for any help.

make can’t find the where command which is usually in one of the standard windows system paths. So can you please include into the PATH variable the director of where… it’s usually c:\windows\system32 according to my quick google search (I don’t have a windows box at the moment).

Thnak you for the tip. As you said, I find the where command in System32 directory and added it to the PATH:
PATH=C:\Rtools\bin;C:\Rtools\mingw_32\bin;C:\Windows\System32

However I get still the same error to build cmdstan 2.21.0:

C:\cmdstan-2.21.0>make build -j4
INFORMATION: Es konnten keine Dateien mit dem angegebenen
Muster gefunden werden.
touch stan/lib/stan_math/lib/tbb/version_tbb_2019_U8
tbb_root="…/tbb_2019_U8" CXX=“g++” CC=“gcc” LDFLAGS=’-Wl,-L,"" -Wl,-rpath,""’ make -C “stan/lib/stan_math/lib/tbb” -r -f “/build/Makefile.tbb” compiler=gcc cfg=release stdver=c++1y
make[1]: Entering directory /cygdrive/c/cmdstan-2.21.0/stan/lib/stan_math/lib/tbb' make[1]: /build/Makefile.tbb: No such file or directory make[1]: *** No rule to make target /build/Makefile.tbb’. Stop.
make[1]: Leaving directory `/cygdrive/c/cmdstan-2.21.0/stan/lib/stan_math/lib/tbb’
make: *** [stan/lib/stan_math/lib/tbb/tbb.def] Error 2

Ok. Now the where is found. Things look really strange to me.

Could you please use the

cmd.exe

shell to execute things; and please use the

mingw32-make build

command to do the initial build.

It looks to me as if you are using a different shell. What is in particular strange is that the makefiles think that the TBB directory is in “/build/Makefile.tbb” … which means that make failed to set correctly the

TBB_ABSOLUTE_PATH

variable. So please try the cmd.exe shell (or the bash shell which you get distributed with git for windows); both of these worked for me.

In case all of that fails, then you can try to set

TBB_ABSOLUTE_PATH=aboslute/path/to/cmdstan-2.21.0/stan/lib/stan_math/lib/tbb_2019_U8

which you would do in the make/local file; but let’s hope that the shell thing fixes this.

C:\cmdstan-2.21.0>mingw32-make build
INFORMATION: Es konnten keine Dateien mit dem angegebenen
Muster gefunden werden.

NOTE: Please add C:/cmdstan-2.21.0/stan/lib/stan_math/lib/tbb to your PATH variable.
You may call

mingw32-make install-tbb

to automatically update your user configuration.
— CmdStan v2.21.0 built —

I would say that using cmd.exe shell finally helped to build the CmdStan v2.21.0

Thank you all for your helpful comments.