[Gtk-sharp-list] Installing on OS X

Chris Ridd chris.ridd@isode.com
Fri, 18 Jun 2004 23:38:26 +0100


On 18/6/04 10:26 pm, Matt Spong <mspong@gmail.com> wrote:

> Hi
> 
> I'm trying to get GTK# installed on OS X with the binary package
> version of Mono from go-mono.com.  GTK# built from source and seemed
> to install with no problems, but when trying to run the sample
> programs, I get an error about the gtk-sharp assembly not being found:
> 
> ** (menu.exe:29471): WARNING **: Could not find assembly gtk-sharp,
> references from /Users/spong/Desktop/gtk-sharp-0.93/sample/menu.exe
> (assemblyref_index=1)
>      Major/Minor: 1,0
>      Build:       0,0
>      Token:       35e10195dab3c99f
> 
> I even tried manually installing the built DLLs from
> /usr/local/lib/mono into the gac using gacutil, and they seemed to be
> in the gac fine, but it's still not finding them.
> 
> Does anybody know what the problem might be?
> 
> thanks
> Matt

I saw something like this in beta2, and it seems like a bug in the mono
build (or the osx port). Essentially mono can't locate the native shared
library that's used by gtk-sharp.dll as despite being built with
prefix=/opt/local, mono searches for native shared libraries in "",
"/usr/local/lib", "/lib", "/usr/lib" and ".".

The workaround for me was to set the DYLD_LIBRARY_PATH environment variable
to point to the directory containing libgtk-x11-2.0.0.dylib (dylibs are
native shared libraries), and then run the program.

% mcs helloworld.cs -L /opt/local/lib/mono/gtk-sharp -r gtk-sharp.dll -r
glib-sharp.dll
Compilation succeeded
% unsetenv DYLD_LIBRARY_PATH
% mono helloworld.exe

Unhandled Exception: System.DllNotFoundException: libgtk-win32-2.0-0.dll
in <0x000dc> (wrapper managed-to-native) Gtk.Application:gtk_init
(int&,intptr&)
in <0x0004c> Gtk.Application:Init ()
in <0x0001c> Hello:Main ()

% setenv DYLD_LIBRARY_PATH /opt/local/lib
% mono helloworld.exe
(it works)

I haven't tried to see if this is still required in beta3.

Cheers,

Chris