Skip to content

[BUG] Installation fails on Apple Silicon (ARM) Mac — pyboolnet BNetToPrime binary incompatible #6

@eltonengkilde

Description

@eltonengkilde

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions