infer icon indicating copy to clipboard operation
infer copied to clipboard

Infer cannot be supported by Macbook M1

Open cshezhang opened this issue 2 years ago • 3 comments

I think Infer cannot be installed via Homebrew in Macbook M1 devices. Can you provide some suggestions or improve the framework?

cshezhang avatar Jan 04 '23 08:01 cshezhang

If there was an official Docker image (not merely instructions on how to build your own), this would be an option. But there isn't.

dsmiley avatar Feb 10 '23 04:02 dsmiley

I was able to build the docker image from master branch with some minor fixes on my Macbook Pro M1. It took me a while because the requirements were surprisingly high.. The build succeed with 24Gb RAM and 200Gb of disk space allocated to the VM where the docker was running.

Below is the Dockerfile diff I did. I was too lazy to fix it properly so just went the build-infer.sh way. Then I was looking for just C analysis so I've enabled clang only.

LD was changed to gold in attempt to solve RAM consumption.. though I saw 2x ld processes consuming ~15Gb and ~8Gb each anyway.. not sure if it worth the change.

diff --git a/docker/master/Dockerfile b/docker/master/Dockerfile
index cf0d77d148..ad7f367171 100644
--- a/docker/master/Dockerfile
+++ b/docker/master/Dockerfile
@@ -44,12 +44,11 @@ RUN cd / && \
 # Build opam deps first, then clang, then infer. This way if any step
 # fails we don't lose the significant amount of work done in the
 # previous steps.
-RUN cd /infer && ./build-infer.sh --only-setup-opam
-RUN cd /infer && \
-    eval $(opam env) && \
-    ./autogen.sh && \
-    ./configure && \
-    ./facebook-clang-plugins/clang/setup.sh
+RUN \
+    ls -sf /usr/bin/aarch64-linux-gnu-ld.gold /usr/bin/aarch64-linux-gnu-ld && \
+    ld --version && \
+    cd /infer && \
+    ./build-infer.sh -y clang
 
 # Generate a release
 RUN cd /infer && \
$ docker run -it --rm infer:latest infer --version
Infer version v1.1.0-aa58dd18
Copyright 2009 - present Facebook. All Rights Reserved.

jay7x avatar Jul 04 '23 18:07 jay7x

I have just built Infer on an M1 MBP from a clone of the repo:

Darwin XXX 23.1.0 Darwin Kernel Version 23.1.0: Mon Oct 9 21:27:24 PDT 2023; root:xnu-10002.41.9~6/RELEASE_ARM64_T6000 arm64

infer --version Infer version v1.1.0-f168e40ef Copyright 2009 - present Facebook. All Rights Reserved.

NathanDotTo avatar Nov 22 '23 17:11 NathanDotTo