2017-07-15

mono-2.10.9nb20

dynabook SS SX/15Aに入れたNetBSD/i386を実運用していくにあたり、まずは最新版にバージョンアップしておくことにしました。ソースをCVSでカレントの最新版にして、カーネルとユーザーランドを最新化しました。8.99.1になりました。

pkgsrcから入れたアプリケーションも最新版にしておこうと思って、pkg_rolling-replaceを使ってバージョンアップしています。いろいろとトラブルがあって一筋縄ではいかないのですが、少しずつ前進して(いるはず)います。

ところがKeePassで依存しているMonoがビルドできません。次のようなエラーが出てしまいます。
MCS     [basic] mcs.exe
cp mcs.exe ./../class/lib/basic/mcs.exe
cp: mcs.exe: No such file or directory
../build/executable.make:105: recipe for target '../class/lib/basic/mcs.exe' failed
gmake[7]: *** [../class/lib/basic/mcs.exe] Error 1
gmake[7]: Leaving directory '/usr/pkgsrc/lang/mono2/work/mono-2.10.9/mcs/mcs'
../build/rules.make:132: recipe for target 'do-all' failed
gmake[6]: *** [do-all] Error 2

以前ビルドした時(2017年2月11日頃)には問題なかったと思います。この時はmono-2.10.9nb18というバージョンでした。今回はmono-2.10.9nb20と多少バージョンがあがっているようです。

両者の違いをcvswebで確認してみましたが、ビルドエラーの原因となりそうな箇所は見つけられませんでした。

自前でビルド出来ないのであれば、既にビルド済みのバイナリを入手して解決しようと思ったのですが、NetBSDのオフィシャルサイトを見てもmono-2.10.9nb20.tgzが見当たりません。mono-2.10.9nb19なら置いてありました。

どうにも困ってしまいましたが、このままではpkg_rolling-replaceを先に進めることができません。緊急避難的な対処方法ですが、mono-2.10.9nb18をmono-2.10.9nb20に見せかけることにしました。どうやらpkgの管理は/var/db/pkgで行っているようです。ここにmono-2.10.9nb18というディレクトリがあったので、試しにmono-2.10.9nb20に名前を変えてみました。どうやらうまくいったようです。

今回はオリジナルのバージョンがmono-2.10.9で変わっていなかったので、このような小手先の対処でも問題はないと思います。もしオリジナルバージョンから変わっているのであれば、このような対処方法ではかえって傷口を広げることにことなってしまうでしょう。

0 件のコメント:

コメントを投稿