2021/03/21

M1 mac で Quartus 動かなかったメモ

ちょっと試してダメだったのでメモ. 動いた. toms.log: M1 mac で Quartus が動いた

環境

  • Docker version 20.10.5, build 55c4c88
  • XQuartz 2.8.0_rc4 (xorg-server 1.19.7)
  • Homebrew 3.0.7
    • Homebrew/homebrew-core (git revision 251dbf0a29; last commit 2021-03-20)
    • Homebrew/homebrew-cask (git revision 6a506eefa6; last commit 2021-03-20)

X11 環境構築

参考そのままなので省略. brew で XQuartz をインストールして, 環境設定でセキュリティの許可. xhost の追加を行うだけ.

Docker 構築

とりあえず(動くかどうかもわからないので) docker run でそのまま入って試行錯誤してみる.

作業ディレクトリを用意してそこに Quartus のインストーラを配置

workdir
├── installer
│   ├── Quartus-lite-20.1.0.711-linux.tar
│   ├── components
│   │   ├── ModelSimSetup-20.1.0.711-linux.run
│   │   ├── QuartusHelpSetup-20.1.0.711-linux.run
│   │   ├── QuartusLiteSetup-20.1.0.711-linux.run
│   │   ├── arria_lite-20.1.0.711.qdz
│   │   ├── cyclone-20.1.0.711.qdz
│   │   ├── cyclone10lp-20.1.0.711.qdz
│   │   ├── cyclonev-20.1.0.711.qdz
│   │   ├── max-20.1.0.711.qdz
│   │   ├── max10-20.1.0.711.qdz
│   ├── readme.txt
│   ├── setup.sh
└── intelFPGA_lite
workdir$ docker run -it --rm -e DISPLAY=$(hostname):0 \
         -v ~/.Xauthority:/root/.Xauthority \
         -v $(pwd)/installer:/usr/local/installer \
         -v $(pwd)/intelFPGA_lite/:/root/intelFPGA_lite/20.1 \
         --platform linux/amd64 ubuntu

コンテナに入ったらとりあえずX11環境を構築. locale 聞かれるので放置とはいかず. Asia/Tokyo を選択したけど, Quatus は en_US.UTF-8 らしい.

root# apt update && apt install -y xserver-xorg x11-apps

一応 xeyes が動くかどうか確認.

悪あがきで libpng をインストールしてみたり(検証してないので必要かは不明).

root# apt install -y libpng-dev

Quartus インストーラを実行. いつものインストーラが動いてちゃんとインストールは完了する.

/usr/local/installer# ./setup.sh

感動の瞬間.

Quatus を起動させようとすると以下のエラー.

root# /root/intelFPGA_lite/20.1/quartus/bin/quartus
/root/intelFPGA_lite/20.1/quartus/adm/qenv.sh: line 83: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory

The Quartus II software is optimized for the Intel Pentium III processor
and newer processors.  The required extensions were not found on:
''

The Quartus II software will not function properly on this processor model.
Terminating...

<インストール場所>/quartus/adm/qenv.sh が余計なエラーを吐いているみたいなので該当部分(l.96-109)をコメントアウト. CPUがサポート対象かチェックしているだけっぽいのでまあ大丈夫でしょ.

# We don't support processors without SSE extensions (e.g. Pentium II and older CPUs).
# cpumodel=`grep 'model name' /proc/cpuinfo | sed -e's/model name.*: //g' | uniq`
# export cpumodel="$cpumodel"
# grep sse /proc/cpuinfo > /dev/null 2>&1
# if test $? != 0 ; then
#     echo ""
#     echo "The Quartus II software is optimized for the Intel Pentium III processor"
#     echo "and newer processors.  The required extensions were not found on:"
#     echo "'$cpumodel'"
#     echo ""
#     echo "The Quartus II software will not function properly on this processor model."
#     echo "Terminating..."
#     export QENV_STATUS=-1
# fi

で起動した結果が以下. QEMU がエラー出してるし, メモリ周りっぽいのでライブラリ不足とかではなさそう.

root# /root/intelFPGA_lite/20.1/quartus/bin/quartus
/root/intelFPGA_lite/20.1/quartus/adm/qenv.sh: line 83: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory
realloc(): invalid pointer
qemu: uncaught target signal 6 (Aborted) - core dumped
Aborted

参考

0 件のコメント:

コメントを投稿