Environment
- macOS (Apple Silicon / ARM M-series chip)
- Python 3.13 (Anaconda)
- BoolDog 0.1.0 installed via pip
Problem
BoolDog cannot be used on Apple Silicon Macs because pyboolnet ships
an Intel-only binary (BNetToPrime_mac64) that crashes immediately with:
OSError: [Errno 86] Bad CPU type in executable:
'.../pyboolnet/binaries/mac64/BNetToPrime/BNetToPrime_mac64'
This error is raised as soon as any BoolDogModel is instantiated,
making the package completely unusable on ARM hardware.
Steps to reproduce
pip install booldog
Then in Python:
import booldog
nodes = [booldog.classes.BoolDogNode(identifier='A', rule='B'),
booldog.classes.BoolDogNode(identifier='B', rule='A')]
m = booldog.BoolDogModel(nodes) # crashes here
Expected behaviour
Model instantiation should work on Apple Silicon.
Possible fix
pyboolnet would need to ship an ARM-native binary for BNetToPrime,
or BoolDog could document a workaround (e.g. running under Rosetta 2,
or using a Linux/Docker environment).
Apple Silicon Macs are now the standard hardware for Mac users,
so this affects a large portion of the potential user base. Do you have any other idea of how to work around this problem?
Environment
Problem
BoolDog cannot be used on Apple Silicon Macs because pyboolnet ships
an Intel-only binary (BNetToPrime_mac64) that crashes immediately with:
OSError: [Errno 86] Bad CPU type in executable:
'.../pyboolnet/binaries/mac64/BNetToPrime/BNetToPrime_mac64'
This error is raised as soon as any BoolDogModel is instantiated,
making the package completely unusable on ARM hardware.
Steps to reproduce
pip install booldog
Then in Python:
import booldog
nodes = [booldog.classes.BoolDogNode(identifier='A', rule='B'),
booldog.classes.BoolDogNode(identifier='B', rule='A')]
m = booldog.BoolDogModel(nodes) # crashes here
Expected behaviour
Model instantiation should work on Apple Silicon.
Possible fix
pyboolnet would need to ship an ARM-native binary for BNetToPrime,
or BoolDog could document a workaround (e.g. running under Rosetta 2,
or using a Linux/Docker environment).
Apple Silicon Macs are now the standard hardware for Mac users,
so this affects a large portion of the potential user base. Do you have any other idea of how to work around this problem?