kubo39's blog

ただの雑記です。

ずっとdruntimeのベンチマークのコンパイルがリンカエラーで落ち続けてる

最近ちっともDMDのビルドがうまくいかない。 ホストのコンパイラとしてDMD 2.087.1にパスを通した状態で、全部(dmd,druntime,phobos)のレポジトリに make -f posix.mak clean をかけた状態でmasterを更新してdmdmake -f posix.mak -j4phobosでも make -f posix.mak -j4 する。

その状態でdruntime直下に移動して make -f posix.mak benchmark-compile-only をかけると以下のようなリンクエラーに遭遇する。

(dmd-2.087.1)$ LANG=C make -f posix.mak benchmark-compile-only
../dmd/generated/linux/release/64/dmd -conf= -m64 -I/home/kubo39/dev/dlang/druntime/import -I../phobos -L-L../phobos/generated/linux/release/64 -fPIC -defaultlib=libphobos2.so -L-rpath=../phobos/generated/linux/release/64 -de benchmark/runbench.d -ofgenerated/linux/release/64/benchmark
DMD=../dmd/generated/linux/release/64/dmd generated/linux/release/64/benchmark --repeat=0 --dflags="-conf= -m64 -I/home/kubo39/dev/dlang/druntime/import -I../phobos -L-L../phobos/generated/linux/release/64 -fPIC -defaultlib=libphobos2.so -L-rpath=../phobos/generated/linux/release/64 -de"
generated/linux/release/64/benchmark: symbol lookup error: generated/linux/release/64/benchmark: undefined symbol: _D4core8internal5array5utils12__ModuleInfoZ
posix.mak:346: recipe for target 'benchmark-compile-only' failed
make: *** [benchmark-compile-only] Error 127

この現象がいつまでたってもなおらない。おかげでrunbench.dでなんでパッチが落ちるのかの原因調査ができない。 もうずっとこんな調子で嫌気がさしてきた。CIは動いているので、なんか自分のところの環境が変なんだろうけどまるっきり見当がつかない。

とにかくこんな調子じゃ開発なんてできやしない。

追記

cloneしなおしてきてもできなかったが、dmd 2.086.1をホストにしたら make -f posix.mak benchmark-compile-only が成功した。dmd 2.087.0以降のregression?