[Mono-dev] DllNotFoundException: libgtkembedmoz.so how to solve ?

Alexandre Miguel Pedro Gomes alexmipego at gmail.com
Sat Feb 4 15:52:10 EST 2006


On windows you probably just need to drop the .dll and/or .dll(s). In fact
you can can drop the .so and .dll in the same package enabling you to share
the same package both to windows and linux.

A problem can arrive *if* the .dll for mozilla in windows is a COM
component. I don't think it is, anyway, if you run into problems you might
have to issue a "regsvr32 path/to/dll" while installing your application.

I do not know how to do this... but you should find a way to reuse the
lastest mozilla components the user has installed. This is, you use this
approach as a fallback, but you should use the lastest .dll or .so if the
user has them you use them. Thas of course to avoid security problems and
make your packaging easier, because you'll need to keep updating the library
to keep updated and avoid any security flaws :)

On 2/4/06, Jurgen Schoeters <jurgen.schoeters at gmail.com> wrote:
>
> Thanks for your help Alexandre,
>
> Putting the .so files into the binary files directory makes it possible
> to use my application on different linux/unix platforms that don't have
> a mozilla product installed, but do you have an idea how to make my
> application work on windows ? (how to solve the gtkembedmoz problem on
> windows)
>
> Greetings, Jurgen
>
>
> On Sat, 2006-02-04 at 16:28 +0000, Alexandre Miguel Pedro Gomes wrote:
> > Oh, I missed the "without mozilla part" :P If your app is using gecko
> > then it is using mozilla... what you can try to do is to copy the .so
> > files into you binary files directory. That should work without
> > setting the ld.so.conf or setting the LD_LIBRARY_PATH variable. You
> > will run into dependency problems.... and you'll need to ship those
> > files along with your app... and pay attention to windows/linux
> > differences... so you might want to check other solutions as well.
> >
> > On 2/4/06, Alexandre Miguel Pedro Gomes <alexmipego at gmail.com> wrote:
> >         That library is located in the mozilla and/or firefox lib
> >         directory. You can check in /usr/lib/firefox-1.5.0.1 or any
> >         other version and/or other mozilla based product (thunderbird,
> >         etc...).
> >
> >         After you find out where it is, you simply
> >         edit /etc/ld.so.conf or edit/create a file
> >         in /etc/ld.so.conf.d/ where you place the full path in a line
> >         - after that execute the command ldconfig without any
> >         arguments and as root.
> >
> >         That should solve the problem.
> >
> >
> >         On 2/4/06, Jurgen Schoeters <jurgen.schoeters at gmail.com>
> >         wrote:
> >                 Hi,
> >
> >                 My program gives a DllNotFound exception when i try to
> >                 run it:
> >
> >                 [jurgen at Paris client_app]$ mono Asic_Test_Machine.exe
> >
> >                 Unhandled Exception:
> >                 System.TypeInitializationException: An exception
> >                 was thrown  by the type initializer for
> >                 Gecko.WebControl --->
> >                 System.DllNotFoundException: libgtkembedmoz.so
> >                 in (wrapper managed-to-native)
> >                 Gecko.WebControl:gtk_moz_embed_get_type
> >                 ()
> >                 in <0x00014> Gecko.WebControl:get_GType ()
> >                 in <0x00026>
> >                 GtkSharp.GeckoSharp.ObjectManager:Initialize ()
> >                 in <0x00007> Gecko.WebControl:.cctor ()--- End of
> >                 inner exception stack
> >                 trace -- -
> >
> >                 in <0x00000> <unknown method>
> >                 in <0x021d4> Asic_Test_Machine.Gui:SetupGui ()
> >                 in <0x0000c> Asic_Test_Machine.Gui:.ctor ()
> >                 in <0x00016> Asic_Test_Machine.Asic_Test_Machine:Main
> >                 (System.String[]
> >                 args)
> >
> >                 I bypassed the problem by setting  LD_LIBRARY_PATH
> >                 environment variable
> >
> >                 #!/bin/csh
> >                 setenv LD_LIBRARY_PATH /usr/lib/mozilla- 1.7.12/
> >                 mono Asic_Test_Machine.exe
> >
> >                 But I don't like this solution because my program
> >                 should be able to run
> >                 without mozilla, what is the best solution ?
> >
> >                 Greetings,
> >
> >                 Jurgen Schoeters
> >
> >
> >
> >
> >
> >                 _______________________________________________
> >                 Mono-devel-list mailing list
> >                 Mono-devel-list at lists.ximian.com
> >                 http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >
> >
> >
> >
> >         --
> >         Alexandre Gomes, Portugal
> >
> >
> >
> > --
> > Alexandre Gomes, Portugal
>
>


--
Alexandre Gomes, Portugal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20060204/e86e26d9/attachment.html 


More information about the Mono-devel-list mailing list