ToDo:
FreeBSDの math/atlas-develが 3.9.11で止まってたので、 3.9.32の野良portsを作ったがうまく動かないので深追いしてたが、やっと成功。
コンパイルテストに長い時間がかかって苦労したけど、原因は至って簡単orz
tune/blas/gemvとtune/blas/gerで止まる問題は、生成された Makefileが 依存関係の解決にGNU makeで無いと問題が出る部分が有るにも関わらず*.c系から 吐き出す shell command lineで make utilityの名前がmakeで 決め打ちになっているためだった。 (つまり、GNU makeでビルドしても途中で BSD makeが呼び出されて詰まる) この手の問題は、Linux上や darwin系では起こらない orz
細かなものでは、atlas_[sdcz]r[12].hとかatlas_[sdcz]mv[nt].hの 扱いに問題が有って BSD makeだとルール最後の mvコマンドの失敗で ルールが失敗扱いになってビルドが停止する問題も有りました。
これらは、makes/Make.mvtuneとmakes/Make.r1tuneにパッチを当てて修正
Kernel Tuningがらみだと、Opteron 2376で L1 Cacheが 1kBと検知される問題 が有ったのですが、tune/sysinfo/GetSysSum.cでGetL1CacheSize()に渡す L1 Cache Size探索の上限が 64kBしか無いので、L1 Cache Size Edgeでは無く 命令バッファか何か他のEdgeを検出するためで、探索上限を 256kBとかにすると 正しく 64kBのL1 Cacheを検知しました。 (ports-CURRENTのpatch-tune+sysinfo+L1CacheSize.cの修正だけでは、 後一歩足りない罠)
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記