1

現在、ARMv7h の archlinux で Mono をテストしています。まず、この単純なプログラムをテストしました。

// test.cs
using System;

public class Test {
  public static void Main(string[] args) {
    Console.WriteLine("I'm working.");
  }
}

pacmanクロスコンパイルではなく、経由でインストールされたネイティブ パッケージとして Mono を使用します。実行すると、意図したとおりに動作します。

mcs test.cs
mono test.exe
I'm working.

を使用してこのアセンブリをバンドルしようとするとmkbundle、エラーなしでコンパイルされます。

mkbundle --deps test.exe -o test_standalone
OS is: Linux
Sources: 1 Auto-dependencies: True
   embedding: /home/minx/usb/cs/test.exe
   embedding: /usr/lib/mono/4.5/mscorlib.dll
Compiling:
as -o temp.o temp.s
cc -ggdb -o test_standalone -Wall temp.c `pkg-config --cflags --libs mono-2`  temp.o
Done

/usb/ は、マウントされた外部 USB ドライブです。mkbundleルートとして呼び出されます。結果のバイナリを実行しようとすると:

./test_standalone

Native stacktrace:

Debug info from gdb:

Got a SIGSEGV while executing native code. This usually indicates 
a fatal error in the mono runtime or one of the native libraries
used by your application.

そしてシェルに戻ります。バイナリは追加情報を提供しません。この特定のアーキテクチャのフラグを見逃していませんか?

4

0 に答える 0