moves-rwth / storm

A Modern Probabilistic Model Checker
https://www.stormchecker.org
GNU General Public License v3.0
133 stars 74 forks source link

Compiling on Apple Silicon #274

Open tquatmann opened 2 years ago

tquatmann commented 2 years ago

I propose to document the current state of compiling on apple silicon without emulation in this issue.

How to compile (April 2023)

Storm compiles natively on ARM-based apple silicon processors. However, a few points need to be considered:

TODO list for official support:

sjunges commented 2 years ago

Hi Tim,

great progress. Could you add an item regarding stormpy on the TODO list. At least it would be good if we have clarity on whether this will work when writing the documentation.

We first need to detect Apple silicon. One option is https://cmake.org/cmake/help/latest/envvar/CMAKE_APPLE_SILICON_PROCESSOR.html#envvar:CMAKE_APPLE_SILICON_PROCESSOR

but that requries CMAKE 3.19.

Thoughts?

tquatmann commented 1 year ago

Since PRs #323 and #273 are finally merged now, natively building on Apple Silicon should kind of work now. This still needs some testing, though.

sjunges commented 1 year ago

Regarding CLN: https://www.ginac.de/pipermail/cln-list/2023-March/000803.html, there seems to be some progress

tquatmann commented 1 year ago

I'm compiling on Apple Silicon just fine and I can no longer reproduce the issues I had before when using a shipped carl version. I guess that problem solved itself.

The test SparseMaPcaaMultiObjectiveModelCheckerTest.serverRationalNumbers fails due to an issue in Eigen v3.3.9. I worked around this in PR #349

sjunges commented 1 year ago

CLN support is still lagging behind; one could appearantly install this from git: https://www.ginac.de/pipermail/cln-list/2023-April/000815.html

sjunges commented 11 months ago

I have been using this with stormpy now for quite some while :-)

sjunges commented 10 months ago

The typical problem that people seem to run into is that libraries compiled for x86/Rosetta are included, which leads to strange errors down the line. I wonder if there is a simple way to spot this during configuration.

It would definitively help resolve https://github.com/moves-rwth/storm/issues/419

sjunges commented 10 months ago

Can we add https://github.com/moves-rwth/storm/issues/354 this to the checklist here?

volkm commented 7 months ago

The latest version of CLN seems to support ARM now, see ChangeLog

tquatmann commented 6 months ago

I just installed storm w/ CLN support. Seems to work so far :)

sjunges commented 2 weeks ago

Can we add https://github.com/moves-rwth/storm/issues/523 to the issues?