0

Monoのソースで数行のC#コードを変更しましたが、ビルドされなくなりました。

make[7]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/mcs'
make[7]: Entering directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/docs'
/usr/bin/make all-local
make[8]: Entering directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/docs'
MDOC    [net_4_0] cs-errors.tree
mdoc: There is an error in XML document.
See `mdoc help' for more information.
make[8]: *** [cs-errors.tree] Error 1
make[8]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/docs'
make[7]: *** [do-all] Error 2
make[7]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs/docs'
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs'
make[5]: *** [profile-do--net_4_0--all] Error 2
make[5]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs'
make[4]: *** [profiles-do--all] Error 2
make[4]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/mcs'
make[3]: *** [all-local] Error 2
make[3]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1/runtime'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/nico/src/mono-roman/mono-2.10.8.1'
make: *** [build-stamp] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
Build command 'cd mono-2.10.8.1 && dpkg-buildpackage -b -uc' failed.
E: Child process failed

問題はmdoc: There is an error in XML documentです。MDOCは、Mono用のJavadocの一種です。いくつかの良性のC#行を変更すると、MDOCが失敗することに驚いていますか?

ここで何が起こっているかについてのヒントはありますか?また、これがどのXMLドキュメントであるかわかりません。

4

2 に答える 2

1

コメントに投稿した最初の分析は正しいようです。MDOCはをロードしcs-errors.config、新しく構築されたランタイムを使用しています。行った変更により、上記のファイルのロード中に次の例外が発生します。

System.InvalidOperationException: Element 'FilesPath' has wrong order in sequence (expected - -1, actual - 0

これはパッチによって追加されました。readBySoapOrder私はあなたが次のように同様にチェックしたいかもしれないと推測しています:

if (readBySoapOrder && info.ExplicitOrder != ind)
    throw new InvalidOperationException(string.Format("Element '{0}' has wrong order in sequence (expected - {1}, actual - {2}", Reader.LocalName, info.ExplicitOrder, ind));

この小さな変更でMDOCは満足し、コンパイルは成功しますが、それが正しい動作であるかどうかはわかりません。

于 2012-11-04T00:55:52.420 に答える
0

「make」を再試行する前に、「makeclean」を試してください。

于 2012-11-03T15:30:06.807 に答える