Mono 中 mkbundle 的交叉编译问题

Cross compiling issues with mkbundle in Mono

我在尝试使用 mkbundle 工具在 Mono Linux 上使用新的 cross-compile/linking 功能时遇到了一些问题。 我在 Intel x86 环境中使用 Linux Mint 14.04 32 位,我想使用 mkbundle 为 64 位平台创建一个静态二进制文件。 作为参考,我使用的是 Mono,版本 4.6.2

mc@Carles-nix ~ $ mono --version
Mono JIT compiler version 4.6.2 (Stable 4.6.2.16/ac9e222 Tue Jan  3 11:57:29 UTC 2017)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           __thread
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  x86
    Disabled:      none
    Misc:          softdebug 
    LLVM:          supported, not enabled.
    GC:            sgen

根据文档,我需要先有目标目标文件,所以我尝试从服务器获取它:

mc@Carles-nix ~ $ mkbundle --fetch-target 4.6.1-linux-libc2.12-amd64 --target-server https://download.mono-project.com/runtimes/raw/
Downloading runtime https://download.mono-project.com/runtimes/raw/4.6.1-linux-libc2.12-amd64 to /home/mc/.mono/targets/4.6.1-linux-libc2.12-amd64/mono
Failure to download the specified runtime from https://download.mono-project.com/runtimes/raw/4.6.1-linux-libc2.12-amd64
mc@Carles-nix ~ $ 

但正如您所注意到的,无论我尝试下载什么文件,我总是遇到同样的错误。

我注意到我的版本 (4.6.2) 没有文件,所以我不确定这是否是问题的根源。

有人能告诉我发生了什么事吗?

非常感谢您。

以防万一有人需要回答这个问题: 我已经联系了 Mono 项目的人,他们的服务器似乎有问题,所以他们建议我使用备用服务器:

$ mkbundle --fetch-target 4.6.1-linux-libc2.12-amd64 --target-server https://mono-project.azureedge.net/runtimes/raw/

对于我来说,我需要添加.zip来下载目标:

mkbundle --fetch-target mono-4.8.0-ubuntu-16.04-x86.zip

以及在 --cross 选项上添加 .zip。