どうもmsys2がごたついている。
C++のハローワールドすらSegmentation fault
#include <iostream> int main() { std::cout << "arikitari_na_world!" << std::endl; }
こんなありきたりなプログラムすらSegmentation faultになる。
どうもbinutilsが悪いってことだけはわかって、ロールバックすることにしたが、根本的な原因解明に至っていない。
Workaround
ロールバックが配信されているので
$ pacman -Syuu
とすればよい。
追記
binutils側のバグじゃないか?という話が出ている。
22762 – missing static variable constructor calls
さらに追記
binutils のissue tracker見る限りでは修正パッチが上がってて、msys2側でそれを当てる修正が入った。
というわけでそう遠くなくビルドされて配信されるだろう。
clangが実行できない
mingw64/bin/clang.exe: error while loading shared libraries: libz3.dll: cannot open shared object file: No such file or directory
とか言われる問題だ。
新たな依存: z3: "数値的"な大域的最適化手法
clangのバージョンが5.0.1に上がったのはとってもいいのだが、この時z3
という新しい依存ができたらしい。なにそれ?
うん、PKGBUILDにリンクが有るな。飛んでみよう。
Z3 is a theorem prover from Microsoft Research
だめだ、さっぱりわからん。
"数値的"な大域的最適化手法
さっぱりわからん。
やっとなんとなくわかったが、clangとどう関係するんだ・・・?
PKGBUILD
を見ているとCLANG_ANALYZER_BUILD_Z3
なるcmakeオプションが有るようだが・・・
Clang 5.0.0 Release Notes — Clang 5 documentation#static-analyzer
をみるとその紹介があった。なるほど、Clangの静的解析ね、お前か、納得した。
原因
で、この追加された依存のz3
がclang
のPKGBUILD
のmakedepends
に書かれてなかった。
で修正が入っている。
ところがこれが
Alexpux commented 2018年1月27日 4:49 JST
@peterbud fixed by 4ac300d
Will rebuild later
とか言ったっきりアップデートが来ていない。
しびれを切らして問い合わせると
Alexpux commented 2018年1月31日 23:52 JST
When I have time. Maybe next week, maybe month later.
時間があるとき、来週かもしれないし来月かもしれない
とか言っている。
つまりしばらく修正されない
workaround
ようは依存が足りてないだけだから
$ pacman -S mingw32/mingw-w64-i686-z3 mingw64/mingw-w64-x86_64-z3
とすればよい。
追記
5.0.1-3
が配信されてきた。
$pacman -Sii mingw64/mingw-w64-x86_64-clang リポジトリ : mingw64 名前 : mingw-w64-x86_64-clang バージョン : 5.0.1-3 説明 : C language family frontend for LLVM (mingw-w64) アーキテクチャ : any URL : https://clang.llvm.org/ ライセンス : custom:University of Illinois/NCSA Open Source License グループ : なし 提供 : なし 依存パッケージ : mingw-w64-x86_64-llvm=5.0.1-3 mingw-w64-x86_64-gcc mingw-w64-x86_64-z3 提案パッケージ : なし 必要パッケージ : mingw-w64-x86_64-c99-to-c89-git mingw-w64-x86_64-clang-analyzer mingw-w64-x86_64-creduce mingw-w64-x86_64-doxygen mingw-w64-x86_64-libblocksruntime mingw-w64-x86_64-openshadinglanguage 任意パッケージ : mingw-w64-x86_64-codelite-git mingw-w64-x86_64-qt-creator 衝突パッケージ : なし 置換パッケージ : なし ダウンロード容量 : 64.12 MiB インストール容量 : 277.54 MiB パッケージ作成者 : Alexey Pavlov <alexpux@gmail.com> ビルド日時 : 2018年02月01日 15時37分28秒 MD5 Sum : 7ca03d9a47da331873bbaee70c97afd1 SHA-256 Sum : b996ff4358d5b040d49352b06c05973c14a91637b471056c82fac4f4d03a9352 署名 : 5F92EFC1A47D45A1
治った。