Frage

Ich dachte, der Zweck von mkbundle2 sollte eine Maschine ohne Mono installiert, um eine Mono-Anwendung auszuführen. Aber es scheint libmono nicht zu verpacken. Ich bin mir nicht sicher, ob es angenommen wird oder nicht, aber die Zielmaschine beschwert sich, dass libmono.so.0 nicht finden kann, wenn ich das Bündel leite. Warum sollte es nach dieser Datei suchen? Und wenn es braucht, warum sollte es irgendwohin sein, aber im Bündel? Und wenn es im Bündel sein soll, warum war warum mkbundle2 es nicht dort legte? Ich verwende die Option "--Deps", um alle Abhängigkeiten einzuschließen. Vermisse ich etwas?

Nach dem Hinzufügen der --statischen Option bekomme ich dieses Ergebnis auf dem Zielgerät:

Unbehandelte Ausnahme: System.TypeInitializationException: Eine Ausnahme wurde durch den Typ-Initializer für System.Windows.Forms.Xplatui ---> system.dllnotfoundException: libc geworfen AT (Wrapper Maniged-to-native) System.Windows.Forms.Xplatui: Uname (Intptr) bei System.Windows.Forms.Xplatui..cctor () [0x00000] in: 0

mit Export mono_log_level= debug shows weitere Informationen:

Mono-Info: Dllimport-Versuch, laden zu laden: 'libc'. Mono-Info: Dllimport Loading Location: 'libc.so'. Mono-Info: Dllimport-Fehler-Load-Bibliothek: '/usr/lib64/libc.so: Ungültiger ELF-Header'. Mono-Info: Dllimport Loading Library: './libc.so'. Mono-Info: Dllimport-Fehler-Load-Bibliothek './libc.so: Freigegebene Objektdatei können nicht geöffnet werden: Keine solche Datei oder Verzeichnis'. Mono-Info: Dllimport Loading: 'libc'. Mono-Info: Dllimport-Fehler-Load-Bibliothek 'libc: Shared-Objektdatei kann nicht geöffnet werden: Keine solche Datei oder Verzeichnis'.

bedeutet dies, dass ich versuche, mit inkompatibler Hardware auf der Maschine zu laufen? Beide Maschinen sind SUSE Linux Enterprise Server 11 (x86_64).

War es hilfreich?

Lösung

von hier wir haben das: .

- deps: Diese Option bündelt alle referenzierten Baugruppen für die Ansammlungen, die auf der Befehlszeilenoption aufgeführt sind. Dies ist nützlich, um ein in sich geschlossenes Bild zu verteilen.

Sind Sie sicher, dass Sie nicht vergessen, eine Montage auf der Befehlszeile zu verweisen?

aus diesem Thread:

Mono Community> Allgemein> Mono Community> Mkbundle, Statisch , lgmodule

Es scheint, dass MKBUNDLE nicht für die Verpackung dieser Baugruppe verantwortlich ist. Der Benutzer hat das Problem gelöst, indem er fehlende glib-bezogene Pakete installierte.

werfen Sie einen Blick auf den statischen Parameter hier :

- static: Standardmäßig verknüpft mkbundle dynamisch mit Mono und glib . Diese Option bewirkt, dass es stattdessen statisch verbindet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top