オリジナルのMinCamlをM1Macで動かしたい
https://gyazo.com/8c5f6f3f69b1265a9d4fc3255d2a09b5
M1 Macで例のレイトレーサを動かそうとするも、MinCaml は「Sparc」「PowerPC」「x86」のコードしか出力できないため、M1 Mac ネイティブではレイトレーサ(min-rt)を動かすことはできない。
例のごとくDockerで動かそうとするも、M1 Macだと Apple Silicon 向けのDockerイメージがダウンロードされてしまう。それを避けるため、Dockerfile で --platform=linux/AMD64 を指定して AMD64 (Intelの64 bit CPU) のDockerイメージを使うようにすることで無事にビルドすることができた。せっかくの Apple Silicon を活かせないのはもったいないけどやむなし。
以下、Dockerイメージのビルドからレイトレーサで画像を生成するまでの手順。
code:sh
cd ~/src
cd min-caml
vi Dockerfile
code:Dockerfile
FROM --platform=linux/AMD64 ubuntu:latest
RUN apt-get update && apt-get install -y build-essential ocaml libmpfr-dev gcc-multilib g++-multilib time
code:sh
docker build -t min-caml-dev .
docker run -it --rm -v pwd:/root -w /root min-caml-dev bash
Dockerコンテナの中で以下のコマンドを実行する
code:sh
./to_x86
make
cd min-rt/
make
exit
これでM1 Macでも例の画像を生成できた
https://gyazo.com/8c5f6f3f69b1265a9d4fc3255d2a09b5