[MonoDevelop] MonoDevelop on OSX filters assembly list

Michael Hutchinson m.j.hutchinson at gmail.com
Thu Jan 15 17:24:22 EST 2009


On Thu, Jan 15, 2009 at 5:06 PM, David Eliott <draekz at gmail.com> wrote:
> I've installed Mono 2.2 and MonoDevelop 1.9 (2.0 alpha 2) on a clean install
> of Leopard OSX 10.5.5 and there are some problems with MonoDevelop that
> renders it unusable:
>
> All assemblies that I wish to use are missing!
>
> If I run a GACUTIL –L or PKG-CONFIG —LIST-ALL then every library is shown
> including:
>
> Gtk-sharp-2.0
> Glade-sharp
> Webkit
> Etc...
>
> However, if you run MD 2.0 Alpha 1 or 2, using Mono 2.0.1 or 2.2, you can
> only see a partial list of assemblies in MD. Eventhough all of them are
> available to mono, MD in this case somehow chooses not to list most of the
> assemblies in the GAC.
>
> Only some are shown, allowing only basic Mono apps be created using the
> System.* and Mono.* etc. all GTK, Mono.Addins, WebKit, Cairo, Glade, Cocoa
> libraries are all missing.
>
> Why would MD choose to not list these assemblies and act as if they are not
> truly available? I was under the impression that only the STETIC GUI
> designer is disabled in MD, not the ability to create GTK apps entirely!
>
> Someone told me that there is no problem, but unfortunately, even after
> sending this problem on the mono-osx mailing list, not a single person has
> given me information to help me troubleshoot, nor has anyone confirmed they
> are having the same problem.

The MD assembly list isn't based on the GAC, it's based on pkg-config,
as the GAC is explicitly a runtime assembly resolution system and
pkgconfig is a build-time dependency resolution system. Note that VS
doesn't take its references from the GAC either; it uses the
assemblies found in paths registered in the registry or certain
well-known paths.

MD looks in the pkgconfig directory in the prefix in which it's
installed, and directories listed in PKG_CONFIG_PATH. The pkgconfig
path for a given prefix $PREFIX will be $PREFIX/lib/pkgconfig (or
$PREFIX/lib64/pkgconfig on certain 64-bit distros)  and
$PREFIX/share/pkgconfig.

The linux MD launch script sets PKG_CONFIG_PATH with a number of other
pkgconfig directories, in the prefixes /usr, /usr/local, and the
prefixes into which mono and pkgconfig are installed.

It would appear that the Mac MD launch script that you're using
doesn't set PKG_CONFIG_PATH to the one with the assemblies you want.

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list