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

任何帮助试图调试什么是错误的欢迎,因为我不知道我应该在哪里看

Mono 3.4.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将按预期工作(因为所有其他测试都通过了)