Compilation error

I am trying to mimic this https://docs.pymc.io/notebooks/LKJ.html on my machine (MacBook, Mojave). I have ran before pymc3 without any trouble, but for some reason pm.Deterministic() is giving a compilation error which I don’t understand.

Exception: ("Compilation failed (return status=1): /Users/achakraborty/.theano/compiledir_Darwin-18.7.0-x86_64-i386-64bit-i386-3.7.4-64/tmptfx2x2jj/mod.cpp:400:27: error: non-constant-expression cannot be narrowed from type ‘npy_intp’ (aka ‘long’) to ‘int’ in initializer list [-Wc++11-narrowing]. int init_totals[2] = {V3_n0, V3_n1};. ^. /Users/achakraborty/.theano/compiledir_Darwin-18.7.0-x86_64-i386-64bit-i386-3.7.4-64/tmptfx2x2jj/mod.cpp:400:27: note: insert an explicit cast to silence this issue. int init_totals[2] = {V3_n0, V3_n1};. ^. static_cast( ). /Users/achakraborty/.theano/compiledir_Darwin-18.7.0-x86_64-i386-64bit-i386-3.7.4-64/tmptfx2x2jj/mod.cpp:400:34: error: non-constant-expression cannot be narrowed from type ‘npy_intp’ (aka ‘long’) to ‘int’ in initializer list [-Wc++11-narrowing]. int init_totals[2] = {V3_n0, V3_n1};. ^. /Users/achakraborty/.theano/compiledir_Darwin-18.7.0-x86_64-i386-64bit-i386-3.7.4-64/tmptfx2x2jj/mod.cpp:400:34: note: insert an explicit cast to silence this issue. int init_totals[2] = {V3_n0, V3_n1};. ^. static_cast( ). /Users/achakraborty/.theano/compiledir_Darwin-18.7.0-x86_64-i386-64bit-i386-3.7.4-64/tmptfx2x2jj/mod.cpp:412:9: error: non-constant-expression cannot be narrowed from type ‘ssize_t’ (aka ‘long’) to ‘int’ in initializer list [-Wc++11-narrowing]. V3_stride0, V3_stride1, . ^~. /Users/achakraborty/.theano/compiledir_Darwin-18.7.0-x86_64-i386-64bit-i386-3.7.4-64/tmptfx2x2jj/mod.cpp:412:9: note: insert an explicit cast to silence this issue. V3_stride0, V3_stride1, . ^~. static_cast( ). /Users/achakraborty/.theano/compiledir_Darwin-18.7.0-x86_64-i386-64bit-i386-3.7.4-64/tmptfx2x2jj/mod.cpp:412:21: error: non-constant-expression cannot be narrowed from type ‘ssize_t’ (aka ‘long’) to ‘int’ in initializer list [-Wc++11-narrowing]. V3_stride0, V3_stride1, . ^~. /Users/achakraborty/.theano/compiledir_Darwin-18.7.0-x86_64-i386-64bit-i386-3.7.4-64/tmptfx2x2jj/mod.cpp:412:21: note: insert an explicit cast to silence this issue. V3_stride0, V3_stride1, . ^~. static_cast( ). /Users/achakraborty/.theano/compiledir_Darwin-18.7.0-x86_64-i386-64bit-i386-3.7.4-64/tmptfx2x2jj/mod.cpp:413:1: error: non-constant-expression cannot be narrowed from type ‘ssize_t’ (aka ‘long’) to ‘int’ in initializer list [-Wc++11-narrowing]. V1_stride0, V1_stride1. ^~. /Users/achakraborty/.theano/compiledir_Darwin-18.7.0-x86_64-i386-64bit-i386-3.7.4-64/tmptfx2x2jj/mod.cpp:413:1: note: insert an explicit cast to silence this issue. V1_stride0, V1_stride1. ^~. static_cast( ). /Users/achakraborty/.theano/compiledir_Darwin-18.7.0-x86_64-i386-64bit-i386-3.7.4-64/tmptfx2x2jj/mod.cpp:413:13: error: non-constant-expression cannot be narrowed from type ‘ssize_t’ (aka ‘long’) to ‘int’ in initializer list [-Wc++11-narrowing]. V1_stride0, V1_stride1. ^~. /Users/achakraborty/.theano/compiledir_Darwin-18.7.0-x86_64-i386-64bit-i386-3.7.4-64/tmptfx2x2jj/mod.cpp:413:13: note: insert an explicit cast to silence this issue. V1_stride0, V1_stride1. ^~. static_cast( ). 6 errors generated… ", ‘[Elemwise{identity}(<TensorType(float64, matrix)>)]’)

I am running:

with model:
L = pm.expand_packed_triangular(2, packed_L)
Σ = pm.Deterministic(‘Σ’, L.dot(L.T))

My objective is to run a theano (black box) based analysis with 5 parameters, with first 2 parameters being drawn from a multivariate normal distribution with the remaining ones being independently sampled from normal distribution. Is it possible ? Any help will really be great.

Aritra

Hi Aritra,
I can’t reproduce your error – maybe try updating your environment?

Thanks a lot!!
Yeah, it works when I change the environment. I guess it was the problem with my Mac