OpenEmbedded: missing libMonoPosixHelper.so library

By | March 6, 2012

I have been searching for a solution for the missing Mono libMonoPosixHelper.so library. It is necessary in order to use SerialPort class. The application I’m working on now runs on an ARM processor, Linux OS based on OpenEmbedded.

I’m not submitting this as a patch because I’m pretty sure this is not the proper way to fix it. Besides my Mono recipe is for a newer version than that is used in the OE.

Basically, I modified the mono.bb recipe to add libmono0

 FILES_mono = ""
 ALLOW_EMPTY_mono = "1"
-RDEPENDS_mono = "mono-common mono-jit"
+RDEPENDS_mono = "mono-common mono-jit libmono0"

 FILES_mono-runtime = ""

Although libmono0 should contain libMonoPosixHelper, it does not in my build. It seems to be only compiled for the host architecture. This patch includes the source directory where the DLL is built:

--- a/Makefile.am	2011-12-27 17:16:41.029586009 +0200
+++ b/Makefile.am	2011-12-27 17:16:50.385586030 +0200
@@ -3,7 +3,7 @@
 MOONLIGHT_SUBDIRS = $(libgc_dir) eglib/src mono

 if CROSS_COMPILING
-SUBDIRS = po $(libgc_dir) eglib mono $(ikvm_native_dir) data runtime scripts man samples msvc $(docs_dir)
+SUBDIRS = po $(libgc_dir) eglib mono $(ikvm_native_dir) data runtime scripts man samples msvc $(docs_dir) support
 # Keep in sync with SUBDIRS
 ## 'tools' is not normally built

One thought on “OpenEmbedded: missing libMonoPosixHelper.so library

  1. Saman

    Hi dear Antanas
    thanks for your sharing
    i have problem with monoposix dll too but in monodroid
    i wanna use system.io.serialports that not exists in monodroid’s assembly
    i grubbed the source from the git and compiled into my project
    but is user dllimport monoposix in some sections
    and when i call any method of this classes i get the dll missing exception.
    i really mixed up how to include this dll to avoid this problem.
    i wonder if u could guide me.
    thanks alot

    Reply

Leave a Reply

Your email address will not be published.