[yocto] dllmap config for a Mono app

Khem Raj raj.khem at gmail.com
Thu Jun 8 10:59:17 PDT 2017

On Wed, Jun 7, 2017 at 11:41 PM, Craig McQueen
<craig.mcqueen at innerrange.com> wrote:
> I have a Mono app that uses DllImport to load some functions from libraries. The app can't find the libraries unless I create a Mono config file containing dllmap lines to map the library's plain "DLL" name (e.g. "foo") to the real name of the .so file (e.g. "libfoo.so.4").
> * What would be a good way in the .bb recipe to automatically create the required Mono config file? It would need to find the "real" names of the library files from the library(s) build output. So it would DEPENDS on the library(s).


> * Is it better to create a local config file, or write it into /etc/mono/config? (My Mono app has the DllImports in a compiled DLL, and so far I've found that I need to create a local MyDll.dll.config file; making a MyApp.exe.config file doesn't work.)

as long as it stays unique in rootfs you should be fine.

> * Alternatively, the Mono app can find the libraries if plain libfoo.so symbolic link to libfoo.so.4 exists in the rootfs. But this symbolic link normally is only in the libfoo-dev package, not the libfoo package. Is there some reasonable way to create and install the libfoo.so symbolic links on the rootfs?

.so are considered used for development so its usually a symlink to real
versioned .so or its a linker script in some projects. The default packaging
rules therefore considers it so as well. This is as I said most common case
but then there are packages where they use .so ( unversioned name) usually
dlopen/ cases ( e.g. gstreamer plugins )

> --
> Craig McQueen
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto

More information about the yocto mailing list