[MonoDevelop] Building Mono/MonoDevelop from git source

Michael Hutchinson m.j.hutchinson at gmail.com
Mon Feb 7 16:15:30 EST 2011


On Mon, Feb 7, 2011 at 4:48 AM, Peter Hultqvist <phq at endnode.se> wrote:
>> Most likely you are running into
>> http://www.mono-project.com/Parallel_Mono_Environments#BEWARE:_pkgconfig_fallback_behaviour
>>
> The second page is what I used to set up the environment.
>
> I tried various MONO_GAC_PREFIX such as /opt/mono,
> /opt/mono/lib/mono/gac but the result was the same.
>
> Finally I tried MONO_GAC_PREFIX=/usr and it got monodevelop 2.6 started.
> However now I'm confused, this method sounds to me like what the page
> warned about to avoid.

Nope, the pages is saying that default behaviour of pkgconfig (used to
find libraries at compile time) is to search /usr and /usr/local after
the directories in PKG_CONFIG_PATH. So even if you set up your
parallel runtime correctly using PKG_CONFIG_PATH to tell it to look in
your parallel runtime, if it searches for libraries that aren't
installed in the parallel runtime, it will fall back and find them in
/usr. So your app will build properly, but if it uses libraries that
are supposed to be in the GAC, it may fails at runtime, because the
parallel runtime doesn't look in the /usr GAC.

That's why MONO_GAC_PREFIX is useful for parallel runtimes, because it
means you don't have to build and install all the libraries you need,
but can set up the parallel runtime to fall back to the system Mono
for some libraries.

MONO_GAC_PREFIX=/your/parallel/runtime:/usr


-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list