I have tried install pymc through conda and via pip/setuptools/github and I get the same error when I run this example code:
import numpy as np
import pymc as pm
X = np.random.normal(size=100)
y = np.random.normal(X) * 1.2
with pm.Model() as linear_model:
weights = pm.Normal("weights", mu=0, sigma=1)
noise = pm.Gamma("noise", alpha=2, beta=1)
y_observed = pm.Normal(
"y_observed",
mu=X @ weights,
sigma=noise,
observed=y,
)
prior = pm.sample_prior_predictive()
posterior = pm.sample()
posterior_pred = pm.sample_posterior_predictive(posterior)
The error message is (truncated here):
ERROR (aesara.graph.opt): Optimization failure due to: constant_folding
ERROR (aesara.graph.opt): node: InplaceDimShuffle{}(TensorConstant{(1,) of 100})
ERROR (aesara.graph.opt): TRACEBACK:
ERROR (aesara.graph.opt): Traceback (most recent call last):
File "/Users/robertarbon/opt/miniconda3/envs/pymc/lib/python3.9/site-packages/aesara/graph/opt.py", line 1850, in process_node
replacements = lopt.transform(fgraph, node)
File "/Users/robertarbon/opt/miniconda3/envs/pymc/lib/python3.9/site-packages/aesara/graph/opt.py", line 1055, in transform
return self.fn(fgraph, node)
File "/Users/robertarbon/opt/miniconda3/envs/pymc/lib/python3.9/site-packages/aesara/tensor/basic_opt.py", line 2954, in constant_folding
thunk = node.op.make_thunk(node, storage_map, compute_map, no_recycling=[])
File "/Users/robertarbon/opt/miniconda3/envs/pymc/lib/python3.9/site-packages/aesara/link/c/op.py", line 131, in make_thunk
return self.make_c_thunk(node, storage_map, compute_map, no_recycling)
File "/Users/robertarbon/opt/miniconda3/envs/pymc/lib/python3.9/site-packages/aesara/link/c/op.py", line 96, in make_c_thunk
outputs = cl.make_thunk(
File "/Users/robertarbon/opt/miniconda3/envs/pymc/lib/python3.9/site-packages/aesara/link/c/basic.py", line 1198, in make_thunk
cthunk, module, in_storage, out_storage, error_storage = self.__compile__(
File "/Users/robertarbon/opt/miniconda3/envs/pymc/lib/python3.9/site-packages/aesara/link/c/basic.py", line 1133, in __compile__
thunk, module = self.cthunk_factory(
File "/Users/robertarbon/opt/miniconda3/envs/pymc/lib/python3.9/site-packages/aesara/link/c/basic.py", line 1629, in cthunk_factory
module = get_module_cache().module_from_key(key=key, lnk=self)
File "/Users/robertarbon/opt/miniconda3/envs/pymc/lib/python3.9/site-packages/aesara/link/c/cmodule.py", line 1216, in module_from_key
module = lnk.compile_cmodule(location)
File "/Users/robertarbon/opt/miniconda3/envs/pymc/lib/python3.9/site-packages/aesara/link/c/basic.py", line 1538, in compile_cmodule
module = c_compiler.compile_str(
File "/Users/robertarbon/opt/miniconda3/envs/pymc/lib/python3.9/site-packages/aesara/link/c/cmodule.py", line 2575, in compile_str
raise CompileError(
aesara.link.c.exceptions.CompileError: Compilation failed (return status=1):
/usr/bin/clang++ -dynamiclib -g -O3 -fno-math-errno -Wno-unused-label -Wno-unused-variable -Wno-write-strings -Wno-c++11-narrowing -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -m64 -fPIC -undefined dynamic_lookup -I/Users/robertarbon/opt/miniconda3/envs/pymc/lib/python3.9/site-packages/numpy/core/include -I/Users/robertarbon/opt/miniconda3/envs/pymc/include/python3.9 -I/Users/robertarbon/opt/miniconda3/envs/pymc/lib/python3.9/site-packages/aesara/link/c/c_code -L/Users/robertarbon/opt/miniconda3/envs/pymc/lib -fvisibility=hidden -o /Users/robertarbon/.aesara/compiledir_macOS-10.16-x86_64-i386-64bit-i386-3.9.0-64/tmpvw4knnhk/mba10987274f369529454d4a60996746c3927712a0b1b3928446a3c275151e2ee.so /Users/robertarbon/.aesara/compiledir_macOS-10.16-x86_64-i386-64bit-i386-3.9.0-64/tmpvw4knnhk/mod.cpp
In file included from /Users/robertarbon/.aesara/compiledir_macOS-10.16-x86_64-i386-64bit-i386-3.9.0-64/tmpvw4knnhk/mod.cpp:1:
In file included from /Users/robertarbon/opt/miniconda3/envs/pymc/include/python3.9/Python.h:25:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:64:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:93:16: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
unsigned char *_base;
...
...
My hardware:
Model Name: | MacBook Pro |
---|---|
Model Identifier: | MacBookPro18,3 |
Chip: | Apple M1 Pro |
Total Number of Cores: | 8 (6 performance and 2 efficiency) |
Memory: | 16 GB |
System Firmware Version: | 7429.61.2 |
OS Loader Version: | 7429.61.2 |
OS: Mac 12.1
I’ve install pymc
from github (output below from conda list):
pymc 4.0.0b6 dev_0 <develop>
My CPATH
is set to:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/
However if i run:
(pymc) ➜ include xcrun --show-sdk-path
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk
It’s also a bit weird that the .aesara
directory created for compilation is:
/.aesara/compiledir_macOS-10.16-x86_64-i386-64bit-i386-3.9.0-64
Note: I also I installed my whole workspace/account from a previous M1 which in turn was installed from a previous intel machine (probably running 10.6 but I can’t remember exact version).
I’ve also tried running pymc3 but that also fails but with a different error.
Any help greatly appreciated!
Thanks.
UPDATE
I created a soft-link to the current MacOS SDK (12.3) from MacOSX10.15.sdk
and it works, i.e.:
(pymc) ➜ SDKs ll
total 0
lrwxr-xr-x 1 root wheel 14B 18 May 10:23 MacOSX.sdk -> MacOSX12.3.sdk
drwxr-xr-x@ 7 root wheel 224B 13 Jan 20:18 MacOSX10.14.sdk
lrwxr-xr-x 1 root wheel 14B 18 May 13:19 MacOSX10.15.sdk -> MacOSX12.3.sdk
drwxr-xr-x@ 7 root wheel 224B 13 Jan 20:18 MacOSX11.0.sdk
drwxr-xr-x 7 root wheel 224B 18 May 10:23 MacOSX11.3.sdk
lrwxr-xr-x 1 root wheel 14B 18 May 10:22 MacOSX11.sdk -> MacOSX11.3.sdk
drwxr-xr-x 7 root wheel 224B 22 Jul 2021 MacOSX12.0.sdk
drwxr-xr-x 7 root wheel 224B 19 Nov 22:25 MacOSX12.1.sdk
drwxr-xr-x 7 root wheel 224B 18 May 10:24 MacOSX12.3.sdk
lrwxr-xr-x 1 root wheel 14B 18 May 10:22 MacOSX12.sdk -> MacOSX12.3.sdk
This doesn’t seem like the optimum solution - so any help is still appreciated.