2018-02-09

'make replace' failed for package mono.

dynabook SS SX/15Aに元々入っていたWindows VistaをNetBSD/i386に入れ換えて使っています。不具合が無いわけではありませんが、解決策を探すのも楽しみの一つと思いながら、使っています。ただ気になっているのは、OS本体もpkgsrcから入れたアプリケーションも、定期的に更新すべきだと思うが、出来ていないという事です。

半年ほど前に更新作業をおこないましたが、それ以降は手つかずでしたので、久しぶりに更新することにしました。OS本体は/usr/src/build.shを使い、出来上がったtgzファイルで全体を入れ替えました。

pkgsrcから入れたアプリケーションはpkg_rolling-replaceを使って更新することにしています。月曜日から始めているのですが、インストールされているパッケージが多く、コンパイルに時間がかかります。さらに時々エラーで止まるので、解決策を模索しつつ、更新を続けているので、まだ最後まで終わっていません。

エラーが出たとしても、対処できるパターンもあるのですが、まったくお手上げの場合もあります。基本的にはソースからコンパイルしてインストールしたいのですが、解決できず、やむを得ずバイナリ・パッケージを利用して凌いだ場合もあります。lang/mono2がその一つです。

mono-2.10.9は「Open source implementation of the .NET Development Framework (v2)」というもので、KeePassというアプリケーションのために必要になるようです。これをコンパイルすると、以下のようなエラーが出てしまいます。直接的な原因は「ファイルが見つからない」というものです。それでは対象方法が何かと考えても、出来ることは何もなさそうです。Webを検索しても、解決の糸口になりそうな情報は見つかりませんでした。

gmake[8]: Entering directory '/usr/pkgsrc/lang/mono2/work/mono-2.10.9/mcs/tools/gacutil'
MCS     [basic] gacutil.exe
mv gacutil.exe ./../../class/lib/basic/gacutil.exe
mv: rename gacutil.exe to ./../../class/lib/basic/gacutil.exe: No such file or directory
../../build/executable.make:105: recipe for target '../../class/lib/basic/gacutil.exe' failed
gmake[8]: *** [../../class/lib/basic/gacutil.exe] Error 1
gmake[8]: Leaving directory '/usr/pkgsrc/lang/mono2/work/mono-2.10.9/mcs/tools/gacutil'
../../build/rules.make:132: recipe for target 'do-all' failed
gmake[7]: *** [do-all] Error 2
gmake[7]: Leaving directory '/usr/pkgsrc/lang/mono2/work/mono-2.10.9/mcs/tools/gacutil'
../build/rules.make:153: recipe for target 'all-recursive' failed
gmake[6]: *** [all-recursive] Error 1
gmake[6]: Leaving directory '/usr/pkgsrc/lang/mono2/work/mono-2.10.9/mcs/tools'
build/rules.make:153: recipe for target 'all-recursive' failed
gmake[5]: *** [all-recursive] Error 1
gmake[5]: Leaving directory '/usr/pkgsrc/lang/mono2/work/mono-2.10.9/mcs'
Makefile:95: recipe for target 'profile-do--basic--all' failed
gmake[4]: *** [profile-do--basic--all] Error 2
gmake[4]: Leaving directory '/usr/pkgsrc/lang/mono2/work/mono-2.10.9/mcs'
Makefile:91: recipe for target 'profiles-do--all' failed
gmake[3]: *** [profiles-do--all] Error 2
gmake[3]: Leaving directory '/usr/pkgsrc/lang/mono2/work/mono-2.10.9/mcs'
Makefile:490: recipe for target 'all-local' failed
gmake[2]: *** [all-local] Error 2
gmake[2]: Leaving directory '/usr/pkgsrc/lang/mono2/work/mono-2.10.9/runtime'
Makefile:415: recipe for target 'all-recursive' failed
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory '/usr/pkgsrc/lang/mono2/work/mono-2.10.9'
Makefile:340: recipe for target 'all' failed
gmake: *** [all] Error 2
*** Error code 2

Stop.
make[1]: stopped in /usr/pkgsrc/lang/mono2
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/lang/mono2
*** 'make replace' failed for package mono.
*** Please read the errors listed above, fix the problem,

半年前に更新作業をした時にも、ここで躓きました。その時と今回とは、エラーの出るところが微妙に違うのですが、「ファイルが見つからない」というのは同じです。根本的に原因を突き止めて解決したい気持ちはあるのですが、大変そうなので、自前でコンパイルすることを諦めて、コンパイル済みのバイナリ・パッケージを入手して済ませることにしました。
# pkg_info -a | grep mono
mono-2.10.9nb19     Open source implementation of the .NET Development Framework (v2)
# pkg_delete -f  mono-2.10.9nb19
Package `mono-2.10.9nb19' is still required by other packages:
        KeePass-2.23nb4
# pkg_add mono-2.10.9nb22.tgz
pkg_add: Warning: package `mono-2.10.9nb22' was built for a platform:
pkg_add: NetBSD/i386 7.0 (pkg) vs. NetBSD/i386 8.99.12 (this host)
mono-2.10.9nb22: copying /usr/pkg/share/examples/mono/2.0/Browsers/Compat.browser to /usr/pkg/etc/mono/2.0/Browsers/Compat.browser
mono-2.10.9nb22: copying /usr/pkg/share/examples/mono/2.0/DefaultWsdlHelpGenerator.aspx to /usr/pkg/etc/mono/2.0/DefaultWsdlHelpGenerator.aspx
mono-2.10.9nb22: copying /usr/pkg/share/examples/mono/2.0/machine.config to /usr/pkg/etc/mono/2.0/machine.config
mono-2.10.9nb22: copying /usr/pkg/share/examples/mono/2.0/settings.map to /usr/pkg/etc/mono/2.0/settings.map
mono-2.10.9nb22: copying /usr/pkg/share/examples/mono/2.0/web.config to /usr/pkg/etc/mono/2.0/web.config
mono-2.10.9nb22: copying /usr/pkg/share/examples/mono/4.0/DefaultWsdlHelpGenerator.aspx to /usr/pkg/etc/mono/4.0/DefaultWsdlHelpGenerator.aspx
mono-2.10.9nb22: copying /usr/pkg/share/examples/mono/4.0/machine.config to /usr/pkg/etc/mono/4.0/machine.config
mono-2.10.9nb22: copying /usr/pkg/share/examples/mono/4.0/settings.map to /usr/pkg/etc/mono/4.0/settings.map
mono-2.10.9nb22: copying /usr/pkg/share/examples/mono/4.0/web.config to /usr/pkg/etc/mono/4.0/web.config
mono-2.10.9nb22: copying /usr/pkg/share/examples/mono/browscap.ini to /usr/pkg/etc/mono/browscap.ini
mono-2.10.9nb22: copying /usr/pkg/share/examples/mono/config to /usr/pkg/etc/mono/config
mono-2.10.9nb22: copying /usr/pkg/share/examples/mono/mconfig/config.xml to /usr/pkg/etc/mono/mconfig/config.xml
===========================================================================
$NetBSD: MESSAGE,v 1.1 2013/06/17 12:43:28 wiz Exp $

To enable using System.Drawing or Windows.Forms, the following packages
will need to be installed:

    libgdiplus  Implementation of the GDI+ API
===========================================================================
# pkg_info -a | grep mono
mono-2.10.9nb22     Open source implementation of the .NET Development Framework (v2)
コンパイル済みのパッケージが存在するということは、本来であれば問題なくコンパイルできるということなのでしょう。それならば何故エラーが出るのでしょうか。この問題を解決するのは、かなり難しそうです。

0 件のコメント:

コメントを投稿