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