Mono 3.4.1在树莓派上不能正确编译
本文关键字:不能 编译 Mono | 更新日期: 2023-09-27 18:05:43
我正试图从GIT(3.4.1)编译最新的Mono源代码在树莓派上,我可以制作,并制作安装,但如果我去/usr/local/lib/mono,我只得到" 2.0 compat-2.0 gac "文件夹,没有其他框架。
当我试图运行:
pi@raspberrypi ~/testeMono $ mcs hello.cs
pi@raspberrypi ~/testeMono $ mono hello.exe
The assembly mscorlib.dll was not found or could not be loaded.
It should have been installed in the `/usr/local/lib/mono/4.5/mscorlib.dll' directory.
我有一个初始的mono安装,我得到做"sudo apt-get install mono-complete"(因为我需要mono来构建mono)它在/usr/lib/mono
i did 'make check',这里是失败的测试
420 test(s) passed. 6 test(s) did not pass.
Failed tests:
block_guard_restore_aligment_on_exit.exe
bug-10127.exe
finally_block_ending_in_dead_bb.exe
pinvoke2.exe
pinvoke3.exe
winx64structs.exe
make[5]: *** [runtest] Error 1
make[5]: Leaving directory `/home/pi/mono/mono/tests'
make[4]: *** [testjit] Error 2
make[4]: Leaving directory `/home/pi/mono/mono/tests'
make[3]: *** [check-am] Error 2
make[3]: Leaving directory `/home/pi/mono/mono/tests'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/home/pi/mono/mono/tests'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/home/pi/mono/mono'
make: *** [check-recursive] Error 1
任何帮助试图调试什么是错误的欢迎,因为我不知道我应该在哪里看
我想把这些问题添加到评论中,但是没有足够的声誉。
-
./autogen.sh最后的输出是什么?看看图书馆区。你在这一节中是否选择了。net 4.0和。net 4.5 ?如果它们是"no",试着运行
./autogen.sh --with-profile4=yes --prefix=your_prefix
Libraries: .NET 2.0/3.5: yes .NET 4.0: yes .NET 4.5: yes
-
为什么你选择安装在/usr/local,当你的系统mono位于/usr?您将在不同的目录中有两个mono安装。这是有用的,当你使用并行单声道环境,但据我所知,你只是想更新单声道到最新版本。在这种情况下,我使用
--prefix=/usr
,以避免在PATH中查找库的问题。 -
这些失败的测试意味着一些mono功能(与PInvoke相关)将无法在您的平台上正常工作,但通常mono将按预期工作(因为所有其他测试都通过了)