[Gtk-sharp-list] Make Gtk# come with program
Thomas Pryds Lauritsen
pryds at duckburg.dk
Sun Feb 12 16:52:48 EST 2006
Jonathan Pryor wrote:
> You need all of:
>
> - The assemblies you use (gtk-sharp.dll, etc.)
> - The .config files for those assemblies (gtk-sharp.dll.config, etc.
> -- and those are located in the GAC, not in the
> $prefix/lib/mono/gtk-sharp-2.0 directory.
> - All "glue" libraries, e.g. /usr/lib/libgtksharpglue.so
>
> Because of the last one, you'll need to use a shell-script to invoke
> your program, and within that script you'll need to set LD_LIBRARY_PATH
> to include the directory that contains those "glue" libraries.
Thank you a lot for your answer. It seems to have made me come further
towards the goal, indeed. However, I still get an error when trying to
run the program on the Fedora system:
[thomas at thorn DizniLogsTest]$ export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/thomas/temp/DizniLogsTest/
[thomas at thorn DizniLogsTest]$ mono DizniLogs.exe
Unhandled Exception: System.TypeInitializationException: An exception
was thrown by the type initializer for Gtk.Container --->
System.DllNotFoundException: gtksharpglue-2
in (wrapper managed-to-native)
Gtk.Container:gtksharp_gtk_container_get_focus_child_offset ()
in <0x0000a> Gtk.Container:.cctor ()--- End of inner exception stack
trace ---
in <0x00000> <unknown method>
in <0x0000e> Gtk.Bin:.ctor (IntPtr raw)
in <0x0002f> Gtk.Window:.ctor (WindowType type)
in <0x0000c> Gtk.Window:.ctor (System.String title)
in <0x000d6> MyProgram:.ctor (System.String[] args)
in <0x00019> MainClass:Main (System.String[] args)
I put all .dll.config and glue files in the same dir as the .exe:
[thomas at thorn DizniLogsTest]$ ls
art-sharp.dll gtk-dotnet.dll.config
art-sharp.dll.config gtkhtml-sharp.dll
atk-sharp.dll gtkhtml-sharp.dll.config
atk-sharp.dll.config gtk-sharp.dll
DizniLogs.exe gtk-sharp.dll.config
gconf-sharp.dll libgdksharpglue-2.so
gconf-sharp.dll.config libgladesharpglue-2.so
gconf-sharp-peditors.dll libglibsharpglue-2.so
gdk-sharp.dll libgnomesharpglue-2.so
gdk-sharp.dll.config libgtksharpglue-2.so
glade-sharp.dll libpangosharpglue-2.so
glade-sharp.dll.config libvtesharpglue-2.so
glib-sharp.dll pango-sharp.dll
glib-sharp.dll.config pango-sharp.dll.config
gnome-sharp.dll rsvg-sharp.dll
gnome-sharp.dll.config rsvg-sharp.dll.config
gnome-vfs-sharp.dll vte-sharp.dll
gnome-vfs-sharp.dll.config vte-sharp.dll.config
gtk-dotnet.dll
It seems that gtksharpglue-2 cannot be found, although (if I'm not
mistaken) it is there in the dir. So perhaps another env. variable or
something similar is needed?
> Furthermore (again, because of the glue libs), this will only work for
> Linux distros; you won't be able to use the same "bundle" with Win32, as
> you'll need the win32 glue libraries as well.
This is no problem for me.
Thanks,
Thomas
More information about the Gtk-sharp-list
mailing list