Raspberry PI Mono

Es gibt 22 Antworten in diesem Thema. Der letzte Beitrag () ist von Glossy Cherry.

    Raspberry PI Mono

    Ich versuche zurzeit Mono auf meinem Rasppi zu nutzen, jedoch scheitert dies bis jetzt, hab auch schon folgendes nachgetragen:

    VB.NET-Quellcode

    1. libmono-microsoft-visualbasic8.0-cil

    dies half nur teils dann kam folgendes:

    Quellcode

    1. pi@raspberrypi ~/Desktop $ mono Framework2Programm.exe Stacktrace:
    2. at System.Drawing.Font.CreateFont (string,single,System.Drawing.FontStyle,System.Drawing.GraphicsUnit,byte,bool) <0x00143>
    3. at System.Drawing.Font..ctor (string,single,System.Drawing.FontStyle,System.Drawing.GraphicsUnit,byte,bool) <0x0007f>
    4. at System.Drawing.Font..ctor (string,single,string) <0x00057>
    5. at (wrapper remoting-invoke-with-check) System.Drawing.Font..ctor (string,single,string) <0xffffffff>
    6. at System.Drawing.SystemFonts.get_DefaultFont () <0x00073>
    7. at System.Windows.Forms.Theme..ctor () <0x0002f>
    8. at System.Windows.Forms.ThemeWin32Classic..ctor () <0x00013>
    9. at System.Windows.Forms.ThemeEngine..cctor () <0x0009f>
    10. at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>
    11. at System.Windows.Forms.SystemInformation.get_MenuAccessKeysUnderlined () <0x00007>
    12. at System.Windows.Forms.Control..ctor () <0x001f3>
    13. at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control..ctor () <0xffffffff>
    14. at System.Windows.Forms.WindowsFormsSynchronizationContext..cctor () <0x0002b>
    15. at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>
    16. at System.Windows.Forms.Control..ctor () <0x0004b>
    17. at System.Windows.Forms.ScrollableControl..ctor () <0x00013>
    18. at System.Windows.Forms.ContainerControl..ctor () <0x00023>
    19. at System.Windows.Forms.Form..ctor () <0x0006b>
    20. at System.Windows.Forms.MessageBox/MessageBoxForm..ctor (System.Windows.Forms.IWin32Window,string,string,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon,bool) <0x00053>
    21. at System.Windows.Forms.MessageBox/MessageBoxForm..ctor (System.Windows.Forms.IWin32Window,string,string,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon,System.Windows.Forms.MessageBoxDefaultButton,System.Windows.Forms.MessageBoxOptions,bool) <0x0006f>
    22. at (wrapper remoting-invoke-with-check) System.Windows.Forms.MessageBox/MessageBoxForm..ctor (System.Windows.Forms.IWin32Window,string,string,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon,System.Windows.Forms.MessageBoxDefaultButton,System.Windows.Forms.MessageBoxOptions,bool) <0xffffffff>
    23. at System.Windows.Forms.MessageBox.Show (string,string,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon,System.Windows.Forms.MessageBoxDefaultButton,System.Windows.Forms.MessageBoxOptions) <0x0008b>
    24. at Microsoft.VisualBasic.Interaction.MsgBox (object,Microsoft.VisualBasic.MsgBoxStyle,object) <0x00267>
    25. at Framework2Programm.Module1.Main () <0x00013>
    26. at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>
    27. Native stacktrace:
    28. Debug info from gdb:
    29. Cannot access memory at address 0x0
    30. Cannot access memory at address 0x0
    31. [Thread debugging using libthread_db enabled]
    32. Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
    33. [New Thread 0x40735460 (LWP 2414)]
    34. 0x401147d0 in read () from /lib/arm-linux-gnueabihf/libpthread.so.0
    35. Id Target Id Frame
    36. 2 Thread 0x40735460 (LWP 2414) "mono" 0x40113700 in sem_wait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
    37. * 1 Thread 0x40071000 (LWP 2413) "mono" 0x401147d0 in read () from /lib/arm-linux-gnueabihf/libpthread.so.0
    38. Thread 2 (Thread 0x40735460 (LWP 2414)):
    39. #0 0x40113700 in sem_wait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
    40. #1 0x00195a40 in mono_sem_wait ()
    41. #2 0x000ea384 in ?? ()
    42. #3 0x000ea384 in ?? ()
    43. Backtrace stopped: previous frame identical to this frame (corrupt stack?)
    44. Thread 1 (Thread 0x40071000 (LWP 2413)):
    45. #0 0x401147d0 in read () from /lib/arm-linux-gnueabihf/libpthread.so.0
    46. #1 0x40114044 in __pthread_enable_asynccancel () from /lib/arm-linux-gnueabihf/libpthread.so.0
    47. #2 0x00096e60 in ?? ()
    48. #3 0x00096e60 in ?? ()
    49. Backtrace stopped: previous frame identical to this frame (corrupt stack?)
    50. =================================================================
    51. Got a SIGSEGV while executing native code. This usually indicates
    52. a fatal error in the mono runtime or one of the native libraries
    53. used by your application.
    54. =================================================================
    55. Aborted

    Das auszuführende Programm (Eine Konsolen Anwendung) ist mit dem Framework 2 kompilliert und hat folgenden Test-Quelltext:

    VB.NET-Quellcode

    1. Module Module1
    2. Sub Main()
    3. Console.WriteLine("k")
    4. Console.Read()
    5. End Sub
    6. End Module

    Hab eigentlich nun alle tipps abgearbeitet die so in linux / raspberry foren angeboten wurden abgeackert, jetzt hoffe ich auf euch, vielleicht hatte jmd das selbe Problem, oder weiß wie man dieses lösen kann, ich danke im vorraus an alle die versuchen mir zu helfen. ;)

    Greetz
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?
    Soweit ich es rausgelesen hab, ja. (z.b raspberrypi.org/phpBB3/viewtopic.php?f=2&t=4969)
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?
    Ich probier grad: jrwren.wrenfam.com/blog/2008/1…studio-2008-on-vista-x64/ vielleicht hilft das.
    nevermind.

    //gibts eig. nen unterschied ob ich c# oder vb nutze?
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Glossy Cherry“ ()

    Man konnte bis VS2008 für Windows-Mobile-(merke nicht Phone!)-Geräte ARM kompatibel kompilieren. Die Software war dann AFAIK für so ein komisches Compact-Framework... Kein Plan, ob das mit dem Mono-FW kompatibel wäre, ich hab da wenig Hoffnung.

    Phone-Anwendungen kannst du gleich vergessen. Dafür ist in Mono das .NET noch nicht weit genug portiert, vermute ich. Ich weiß nicht genau was auf WP7 läuft, aber da die GUIs mit XAML designed und die Spiele mit XNA 4 entwickelt werden, schätze ich auf irgendeine "höhere" FW-Variante. (Die an vielen Stellen ohnehin zum echten .NET inkompatibel ist.)




    EDIT: was nützt dir das eigentlich alles, wenn du für VB-Anwendungen die (32 Bit!) Microsoft.VisualBasic.DLL (oder wie die heißt) mitgeben willst?
    Ein RasPI ist einfach nicht für .NET geschaffen.

    zu deinem EDIT: ja, die o.g. Bibliothek muss bei C# selbstredend nicht mitgeliefert werden!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „FuFu^^“ ()

    FuFu^^ schrieb:

    genau genommen schreiben die, dass das Mono-Framework läuft, nicht das es x86 Software ausführen würde

    x86 Software??? Keine .NET Executable ist per se x86 Software. Schon mal was von IL gehört??

    EDIT:

    laut dem hier geht es:

    mono-project.com/Mono:ARM

    siehe das video. Da wird eine EXE auf einem nokia handy ausgeführt
    Eine EXE ist halt bei .NET keine x86 Software oder sonst was
    Erst durch das JIT-Kompilieren wird die Plattform bestimmt
    Mit C# klappts, mal testen ob noch was anderes geht.
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?
    Der Stacktrace, den du oben gepostet hast, lässt eher vermuten, dass dein Quelltext eher so aussah:

    VB.NET-Quellcode

    1. Namespace Framework2Programm
    2. Module Module1
    3. Sub Main()
    4. MsgBox("asda", "asd")
    5. End Sub
    6. End Module
    7. End Namespace

    Oder was soll sonst das:

    Quellcode

    1. at Microsoft.VisualBasic.Interaction.MsgBox (object,Microsoft.VisualBasic.MsgBoxStyle,object) <0x00267>
    2. at Framework2Programm.Module1.Main () <0x00013>
    ?

    AFAIK referenziert geschweige denn callt eine Stadard-Konsolenanwendung keine Sachen aus System.Windows.Forms.

    Da der Fehler bei "System.Drawing.Font.CreateFont" aufgetreten ist, würde ich vermuten, dass es wohl irgendwie mit den Schriften zusammenhängt - vielleicht fehlen welche? Ich kann mir nicht vorstellen, dass auf Debian (oder was du da benutzt) die Standard-Winforms-Schriften mitgeliefert werden. Ich glaube auch, dass die auch nicht mit Mono mitinstalliert werden (aus lizenztechnischen Gründen). Kann aber sein, keine Ahnung.

    Vielleicht steht hier ja mehr:
    raspberrypi.org/phpBB3/viewtopic.php?f=66&t=11634
    Von meinem iPhone gesendet
    @nikeee13: Das war dann also ein clipboard fail der Konsole war nur 1x die msgbox drin, der den ich kopieren wollte hatte keine msgbox im quelltext.

    Ich probier morgen mal ne Winform in C# ohne Msgbox, da die Konsole vollständig klappt, kann ich ausschließen das garnix klappt.
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?
    Der einzige Hauptfehler ist immer CreateFont, ich glaube wenn man den irgendwie behoben bekommt, das dann auch die Forms klappen, hm..
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?
    Und wo wenn ich fragen darf?

    //Hab nun das Mono 2.4 Framework installiert (siehe hier: jpobst.blogspot.de/2009/06/mono-in-visual-studio-2010.html) und damit folgenden Code kompilliert:

    C-Quellcode

    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Text;
    7. using System.Windows.Forms;
    8. namespace MonoConsole
    9. {
    10. public partial class Form1 : Form
    11. {
    12. public Form1()
    13. {
    14. InitializeComponent();
    15. }
    16. private void Form1_Load(object sender, EventArgs e)
    17. {
    18. MessageBox.Show("k");
    19. }
    20. }
    21. }

    Dies gab nun einen neuen Stacktrace aus:

    Quellcode

    1. pi@raspberrypi ~/Desktop $ mono MonoConsole.exe
    2. Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.XplatUI ---> System.ArgumentNullException: Could not open display (X-Server required. Check you DISPLAY environment variable)
    3. Parameter name: Display
    4. at System.Windows.Forms.XplatUIX11.SetDisplay (IntPtr display_handle) [0x00000] in <filename unknown>:0
    5. at System.Windows.Forms.XplatUIX11..ctor () [0x00000] in <filename unknown>:0
    6. at System.Windows.Forms.XplatUIX11.GetInstance () [0x00000] in <filename unknown>:0
    7. at System.Windows.Forms.XplatUI..cctor () [0x00000] in <filename unknown>:0
    8. --- End of inner exception stack trace ---
    9. at System.Windows.Forms.Application.EnableVisualStyles () [0x00000] in <filename unknown>:0
    10. at MonoConsole.Program.Main () [0x00000] in <filename unknown>:0
    11. [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.XplatUI ---> System.ArgumentNullException: Could not open display (X-Server required. Check you DISPLAY environment variable)
    12. Parameter name: Display
    13. at System.Windows.Forms.XplatUIX11.SetDisplay (IntPtr display_handle) [0x00000] in <filename unknown>:0
    14. at System.Windows.Forms.XplatUIX11..ctor () [0x00000] in <filename unknown>:0
    15. at System.Windows.Forms.XplatUIX11.GetInstance () [0x00000] in <filename unknown>:0
    16. at System.Windows.Forms.XplatUI..cctor () [0x00000] in <filename unknown>:0
    17. --- End of inner exception stack trace ---
    18. at System.Windows.Forms.Application.EnableVisualStyles () [0x00000] in <filename unknown>:0
    19. at MonoConsole.Program.Main () [0x00000] in <filename unknown>:0

    Schonmal ein schritt weiter, jedoch ist jetzt das Problem mit SetDisplay da. ^^
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Glossy Cherry“ ()

    Zuerst die gute Nachricht, Mono läuft auf dem Raspberry PI
    und jetzt die schlechte, es läuft nur auf der Version mit Software Floating Point, zu finden im Download von Raspberry

    Der Fehler liegt in der Mono-Implementation für ARM, und ist in Monos Fehlerlog zu finden.
    Es war geplant, dies in V2.12 zu bereinigen.
    Inzwischen ist V3 da, aber der Fehler existiert in den ersten Umsetzungen für Debian immer noch.

    Eine Aussage zum Zeitpunkt für ein vollständiges neues Paket ist zur Zeit nicht bekannt.
    Und wann die Anbindung für HW FloatingPoint auf ARM kommt ist noch ungewisser.

    BTW, um VB-Net Programme auf dem Raspberry laufen zu lassen, muss noch die VB-Unterstützung(sorry, Name vergessen) über apt-get installiert werden.

    Getestet hatte ich das vor einiger Zeit mit einer einfachen Windows Forms Anwendung, die auf dem PC unter mono kompiliert und dann einfach mit WINSCP auf die SD-Karte im Raspberry kopiert wurde.
    So da ich beschlossen habe den raspi in meiner Präsentation zu nutzen, wäre ich sehr dankbar für Denkanstöße wie ich C# GUI Programme aufm raspi ausführe, danke.
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?

    Quellcode

    1. Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.XplatUI ---> System.ArgumentNullException: Could not open display (X-Server required. Check you DISPLAY environment variable)
    2. Parameter name: Display
    3. at System.Windows.Forms.XplatUIX11.SetDisplay (IntPtr display_handle) [0x00000] in <filename unknown>:0
    4. at System.Windows.Forms.XplatUIX11..ctor () [0x00000] in <filename unknown>:0
    5. at System.Windows.Forms.XplatUIX11.GetInstance () [0x00000] in <filename unknown>:0
    6. at System.Windows.Forms.XplatUI..cctor () [0x00000] in <filename unknown>:0
    7. --- End of inner exception stack trace ---
    8. at System.Windows.Forms.Application.EnableVisualStyles () [0x00000] in <filename unknown>:0
    9. at MonoTest.Program.Main () [0x00000] in <filename unknown>:0
    10. [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.XplatUI ---> System.ArgumentNullException: Could not open display (X-Server required. Check you DISPLAY environment variable)
    11. Parameter name: Display
    12. at System.Windows.Forms.XplatUIX11.SetDisplay (IntPtr display_handle) [0x00000] in <filename unknown>:0
    13. at System.Windows.Forms.XplatUIX11..ctor () [0x00000] in <filename unknown>:0
    14. at System.Windows.Forms.XplatUIX11.GetInstance () [0x00000] in <filename unknown>:0
    15. at System.Windows.Forms.XplatUI..cctor () [0x00000] in <filename unknown>:0
    16. --- End of inner exception stack trace ---
    17. at System.Windows.Forms.Application.EnableVisualStyles () [0x00000] in <filename unknown>:0
    18. at MonoTest.Program.Main () [0x00000] in <filename unknown>:0


    Kommt wenn ich eine einfache C# Form kompilliere ohne Code, nur mit einem Bild auf der Form.

    GTK# .Net hab ich installiert, muss ich das irgendwo festlegen, damit dieses auch genutzt wird?
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?