forms-gtk-progress icon indicating copy to clipboard operation
forms-gtk-progress copied to clipboard

Xamarin GTK on Rapsberry Pi: rasbian Buster

Open Graveen opened this issue 4 years ago • 2 comments

Hello, I have troubles installing on a brand new Raspbian buster Xamarin.Forms GTK. (Xamarin.Forms 4.7.0) Let's say i'm running "GameOfLife". Everything is OK on Windows (Xamarin Forms / GTK) Now i want to run it on Raspbian:

  1. installing mono from Xamarin repo: ok (6.8.0)
  2. apt install gtk-sharp2 (ok: 2.10 but also labeled 2.12). I note there is also gtk-sharp3
  3. copy bin/ from Windows, and execute it with "mono GameOfLife.GTK.exe"
  4. i have now DllNotFoundException "libglib-2.0-0.dll not found" error, adding it to /etc/mono/config which leads to various errors related to others assemblies not found
  5. Finally, i'm stuck on DllNotFoundException"gtksdharpglue-2", which i'm unable to find in the /etc/mono/config nor on the sdcard of my pi.

What am i doing wrong please ?

Graveen avatar Jun 21 '20 20:06 Graveen

Adding all the missing DLL worked, but it is tedious. Any idea why ?

Graveen avatar Jun 22 '20 14:06 Graveen

Me too. The following are the mapped and working config:

<configuration>
        <dllmap dll="i:cygwin1.dll" target="libc.so.6" os="!windows" />
        <dllmap dll="libc" target="libc.so.6" os="!windows"/>
        <dllmap dll="intl" target="libc.so.6" os="!windows"/>
        <dllmap dll="intl" name="bind_textdomain_codeset" target="libc.so.6" os="solaris"/>
        <dllmap dll="libintl" name="bind_textdomain_codeset" target="libc.so.6" os="solaris"/>
        <dllmap dll="libintl" target="libc.so.6" os="!windows"/>
        <dllmap dll="i:libxslt.dll" target="libxslt.so" os="!windows"/>
        <dllmap dll="i:odbc32.dll" target="libodbc.so.2" os="!windows"/>
        <dllmap dll="i:odbc32.dll" target="libiodbc.dylib" os="osx"/>
        <dllmap dll="oci" target="libclntsh.so" os="!windows"/>
        <dllmap dll="db2cli" target="libdb2_36.so" os="!windows"/>
        <dllmap dll="MonoPosixHelper" target="$mono_libdir/libMonoPosixHelper.so" os="!windows" />
        <dllmap dll="System.Native" target="$mono_libdir/libmono-native.so" os="!windows" />
        <dllmap dll="System.Net.Security.Native" target="$mono_libdir/libmono-native.so" os="!windows" />
        <dllmap dll="System.Security.Cryptography.Native.Apple" target="$mono_libdir/libmono-native.so" os="osx" />
        <dllmap dll="libmono-btls-shared" target="$mono_libdir/libmono-btls-shared.so" os="!windows" />
        <dllmap dll="i:msvcrt" target="libc.so.6" os="!windows"/>
        <dllmap dll="i:msvcrt.dll" target="libc.so.6" os="!windows"/>
        <dllmap dll="sqlite" target="libsqlite.so.0" os="!windows"/>
        <dllmap dll="sqlite3" target="libsqlite3.so.0" os="!windows"/>
        <dllmap dll="libX11" target="libX11.so.6" os="!windows" />
        <dllmap dll="libgdk-win32-2.0-0.dll" target="libgdk-x11-2.0.so.0" os="!windows"/>
        <dllmap dll="libgdk_pixbuf-2.0" target="libgdk_pixbuf-2.0.so.0" os="!windows"/>
        <dllmap dll="libgtk-win32-2.0-0.dll" target="libgtk-x11-2.0.so.0" os="!windows"/>
        <dllmap dll="libatk-1.0-0.dll" target="libatk-1.0.so.0" os="!windows"/>
        <dllmap dll="libglib-2.0-0.dll" target="libglib-2.0.so.0" os="!windows"/>
        <dllmap dll="libgobject-2.0-0.dll" target="libgobject-2.0.so.0" os="!windows"/>
        <dllmap dll="libgnomeui-2" target="libgnomeui-2.so.0" os="!windows"/>
        <dllmap dll="librsvg-2" target="librsvg-2.so.2" os="!windows"/>
        <dllmap dll="libXinerama" target="libXinerama.so.1" os="!windows" />
        <dllmap dll="libasound" target="libasound.so.2" os="!windows" />
        <dllmap dll="libcairo-2.dll" target="libcairo.so.2" os="!windows"/>
        <dllmap dll="libcairo-2.dll" target="libcairo.2.dylib" os="osx"/>
        <dllmap dll="libpango-1.0-0.dll" target="libpango-1.0.so.0" os="!windows"/>
        <dllmap dll="libcups" target="libcups.so.2" os="!windows"/>
        <dllmap dll="libcups" target="libcups.dylib" os="osx"/>
        <dllmap dll="gdksharpglue-2" target="/usr/lib/cli/gdk-sharp-2.0/libgdksharpglue-2.so" os="!windows"/>
        <dllmap dll="gtksharpglue-2" target="/usr/lib/cli/gtk-sharp-2.0/libgtksharpglue-2.so" os="!windows"/>
        <dllmap dll="glibsharpglue-2" target="/usr/lib/cli/glib-sharp-2.0/libglibsharpglue-2.so" os="!windows"/>
        <dllmap dll="pangosharpglue-2" target="/usr/lib/cli/pango-sharp-2.0/libpangosharpglue-2.so" os="!windows"/>
        <dllmap dll="i:kernel32.dll">
                <dllentry dll="__Internal" name="CopyMemory" target="mono_win32_compat_CopyMemory"/>
                <dllentry dll="__Internal" name="FillMemory" target="mono_win32_compat_FillMemory"/>
                <dllentry dll="__Internal" name="MoveMemory" target="mono_win32_compat_MoveMemory"/>
                <dllentry dll="__Internal" name="ZeroMemory" target="mono_win32_compat_ZeroMemory"/>
        </dllmap>
        <dllmap dll="gdiplus" target="libgdiplus.so.0" os="!windows"/>
        <dllmap dll="gdiplus.dll" target="libgdiplus.so.0"  os="!windows"/>
        <dllmap dll="gdi32" target="libgdiplus.so.0" os="!windows"/>
        <dllmap dll="gdi32.dll" target="libgdiplus.so.0" os="!windows"/>
</configuration>

melicaster avatar Apr 20 '22 11:04 melicaster