我完全难过了。我正在尝试使用使用Buildroot和Crosstool-NG生成的eglibc工具链来编译Mono。我无法在3.0.3之后构建任何版本。版本3.0.3构建并执行很好...后续版本在尝试编译mscorlib时挂起。它挂起的输出如下所示。
使用strace似乎mscorlib的编译成功完成,但所有剩余的作业都在等待完成从未做过的事情(我的cpu%降到0,所以没有发生任何事情)。
非常感谢任何尝试的建议。这是挂起时的make输出:
--- 先前输出
在运行时制作所有内容
make [2]:进入目录`/home/test/dev/mono-3.0.7/runtime'
如果测试-w /home/test/dev/mono-3.0.7/mcs;然后 :;否则chmod -R + w /home/test/dev/mono-3.0.7/mcs;网络
cd /home/test/dev/mono-3.0.7/mcs& amp ;& amp;使--no-打印目录-s NO_DIR_CHECK = 1个PROFILES = 'net_2_0 net_3_5 'CC =' i686的-buildroot的-Linux的GNU-GCC' 所有的简档
Bootstrap编译器:Mono C#编译器版本2.10.8.1
MCS [build] mscorlib.dll < ----永远挂起此输出
谢谢!
答案 0 :(得分:2)
感谢knocte的评论,我设法闯入了答案。我不知道为什么,但是将我的eglibc库更改为2_13可以让我的Mono编译成功完成。我最初使用的是2_15。我也尝试了2_14彻底,它也失败了挂在同一点。上述步骤中提到的步骤似乎陷入僵局。
总而言之,Mono 3.0.3及更早版本使用eglibc 2_15 buildroot工具链编译得很好。单声道版本3.0.4及更高版本没有,但使用eglibc 2_13 buildroot工具链成功构建。
我不知道问题是在Mono,eglibc还是两者中。考虑到我浪费了多少时间,我希望这可以帮助某人某个地方!
答案 1 :(得分:0)
对我来说,问题是由防病毒软件(Avast)引起的。即使我将mono文件夹添加到“Scan Exclusions”列表并禁用了保护盾,它仍然继续扫描mono/mini/.libs/mono-sgen.exe
。卸载防病毒后,构建没有挂起并成功完成。
我不建议您卸载防病毒软件。我刚才提到了对我有用的东西。仅供参考,我在构建完成后重新安装了防病毒软件。